Anda di halaman 1dari 8

MAKALAH PEMOGRAMAN BERBASIS TLS/SSL

PEMOGRAMAN BERBASIS JARINGAN

KELOMPOK 4 :
1. MUHAMMAD HAIKAL AZIZ (17076070)
2.
3.
4.

PENDIDIKAN TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2019
A. APA ITU TLS/SSL
SSL pertama kali dibuat oleh Netscape Communication Corp pada tahun 1994
untuk mengamankan trassaksi pada World Wide Web (WWW).Kemudian Internet
Engginering Task Force (IETF) mulai bekerja untuk membangun standar protokol yang
menyediakan fungsional yang sama.Mereka menggunakan SSL.30 sebagai dasar basis
yang selanjutnya diganti nama dengan Transport Layer Securit (TLS).
TLS/SSL banyak sekali digunakan untuk protocol secure HTTP atau dikenal
dengan HTTPS untuk transaksi internet antara web browser dan web server. TLS/SSL
juga digunakan aplikasi lain pada level protocol contohnya FTP,LDAP, dan SMTP.
Protocol TLS/SSL memungkinkan melakukan:
 Server Authentication
 Client Authentication
 Data Encryption
 Data Integry

B. PENERAPAN TLS/SSL PADA JAVA


Implementasi TLS/SSL Pada java sudah dimulai sejak Java JDK 3.4. Saat buku itu
ditulis, Java JDK sudah mencapai versi 6. Paket yang dapat digunakan untuk realisasi
TLS/SSL antara lain:

- Import java.io*;
- Import java.net.*;
- Import java.security.*;
- Import java. security.cert.*;
- Import javax.net..*;
- Import javax.net.ssl.*;

C. HTTPS/SSL
Banyak digunakan untuk mengamankan transaksi internet antara browser dengan web
server.Beberapa Lembaga yang menyediakan certificate SSL antara lain:
1. Versign, www.versign.com
2. Versign Business, www.verizonbusiness.com
3. Instant SSL, www.instantssl.com

1. Java HTTPS
Seperti diketahui, untuk menyederhanakan dalam penggunaan objek.Oleh karena
itu, baik HTTP dan HTTPS tidaklah dibedakan. Ketika kita memasukkan protokol
HTTPS,Java akan melakukan Instansiasi objek yang berbasis HTTPS.
Kita dapat memanfaatkan paket dibawah ini untuk mengakses HTTPS dan HTTPS.

- Import java.io*;
- Import java.net.*;

Untuk mengakses protocol HTTP, kita dapat memanfaatkan objek URL dan
HttpUrlConnection. Dua objek ini dapat melakukan adaptasi dimana ketika kita
memasukkan alamat https://alamat_website, maka kedua objekini akan
mengaktifkan obejek-objek berbasis https.

2. Java Apache
Cara Kedua untuk mengakses website HTTPS kita dapat memanfaatkan
komponen dari Apache yaitu HTTp Component.Seperti halnya metode akses
HTTPS melalui Java JDK dimana library ini secara implisit akan mendeteksi
apakah alamat website itu HTTPS atau tidak.Ini juga terjadi pada komponen HTTP
dari Apache.Pada solusi ini kita menggunakan objek HTTPClient dan HTTPGet
untuk eksekusi HTTPGET.
3. Java Socket
Realisasi socket SSL cukup berbeda dengan socket biasanya. Hal terpenting
adalah kita harus dapat menangkap certificate SSL yang diberikan oleh website
HTTPS. Pada java JDK kita dapat memanfaatkan SSLSocketFactory dan
SSLSocket.
D. HTTPS/SSL DENGAN CERTIFICATE YANG TIDAK VALID
Kalau diperhatikam kode program pada A,B, dan C semuanya lancer jika HTTPS yang
diterapkan pada website mempunyai SSL certificate yang valid. Namun bagaimana jika
ada website yang SSL certificate tidak valid. Jika tidak valid, browser akan
memoeringatkan oada user sehingga muncul pesan peringatan.
1. Modifikasi Java HTTPS dan Java Apache
Pada program pertama (SimpleHTTPS) error yang ditimbulkan akibat SSL
certificate yang tidak valid disebabkan karena objek URL melakukan validasi dan
menemukan SSL certificate yang tidak valid sehingga muncullah error tersebut.
Sedangkan pada kode program pertama, error yang timbuk karena ketika kita
melakukan proses instansiasi objek HttpClient melalui instasiasi objek
DefaultHttpClient().
2. Modifikasi Java Socket
Hal yang dilakukan adalah kita melakukan override agar semua SSL certificate
yang diproses dianggap valid semua oleh java.

TrustManager[] trustAllCerts = new TrustManager[]{


New X509TrustManager{} {

@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers{} {
return null;
}

@Override
public void checkClientTrusted{
java.security.cert.X509Certificate[] cert, String authType) {
}

@Override
public void checkServerTrusted{
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
E. FTPS
Seperti yang kita ketahui protocol FTP komunikasi datanya dapat dilihat
sehingga bila kita mengirim username dan password maka data tersebut dapat dilihat
pada perjalanannya.
Agar komunikasi data yang terjadi antara dan pada client pada FTP lebih aman
dalam artian tidak dapat dibaca oleh orang lain, kita dapat memanfaat secure FTP atau
dikenal FTPS melalui TLS. Protocol FTPS didasarkan pada dokumen RFC 4217.
1. Metode Akses
Megakses protocol FTPS berbeda dengan protocol FTP dalam hal
proses handshaking.secara umum ada metode untuk mengakses FTPS
 Eksplisit
 Implisit
Metode Eksplisit atau Metode dikenal dengan FTPES.implementasi
pada FTP client diharapkan menyadari ini protocol FTP tanpa mengubah
perintah-perintah umum FTP. FTP client secara Eklsplisit harus
menyetujuin metode enkripsi yang diinformasikan oleh FTPS server. Cara
akses FTPES didasarkan pada dokumen RFC 2228 dimana ada perintah
baru yaitu AUTH. Perintah ini ada cara yaitu AUTH TLS dan AUTH SSL.
Dokumen RFC 4217 menjelaskan bagaimana mengakses AUTH TLS.
Sedangkan Metode Implisit FTPS atau FTPS implicit tidak ada proses
negosiasi konfigurasi FTPS. FTP client akan melakukan akses dengan FTPS
server melalui TLS/SSL ClientHello.biasanya port yang digunakan adalah
TCP 990 untuk FTPS control dan TCP 989 untuk FTPS data Channel.
2. FTPS Server
Kita dapat melakukan konfigurasi melalui FileZilla server interface.
3. Membuat Program Java FTPS
Kita akan menggunakan komponen pihak ketiga yaitu apache commons
net untuk mengakses protocol FTPS.sedangkan FTPS server yang akan
digunakan adalah FileZilla server . pembaca juga dapat menggunakan FTPS
server lainnya. Untuk mengakses protocol FTPS dapat menggunakan objek
FTPSClient. Sedangkan paket Java yang digunakan adalah:
Import java.io.*;
Import java.net.*;
Import org .apache.commons.net.ftp.*;

F. Apikasi Client /Server Berbasis TLS/SSL


1. SSL SERVER
Pada bagian SSL SERVER kita akan membuat kelas baru,yaitu
SimpleSSLServer yang berbasis Thread supaya sever dapat melayani client yang
banyak.
2. SSL Client
Pada bagian client kita juga menggunakan SSL Socket melalui objek SSLSocket.
Objek ini didapat melalui SSLSocketFactory.

3. Eksekusi Aplikasi Aplikasi Client/Server

Anda mungkin juga menyukai