Transport Layer Security(TLS) merupakan jalur protokol Internet Engineering Task Force
(IETF) yang ditetapkan pada tahun 1999 dan merupakan peningkatan dari spesifikasi Secure
Socket Layer (SSL) yang digunakan untuk menambahkan protocol HTTPS ke navigator web
Netscape.
Dimana :
K : Kunci rahasia, yang harus ditambahkan bitbit padding 0 hingga sepanjang ukuran
blok pada fungsi hash yang digunakan
⊕ : Exclusive or (XOR)
Dimana
Pseudorandom Function
Fungsi pseudorandom pada TSL digunakan untuk melakukan perluasan rahasia menjadi
blok-blok data yang memiliki tujuan yaitu generasi kunci atau validasi serta membuat
penggunaannya relative kecil dengan membagi bloknya lagi. Fungsi pseudorandom menggunakan
algoritma hash yang mana akan menjamin keamanan rahasia tersebut.
A(0) = seed
Alerts Code
Alerts Code merupakan kode yang digunakan untuk menyampaikan peringatan jika
terdapat hasil yang fatal sehingga dapat segera dihentikan, Setiap alerts code pada SSLv3 masih
didukung oleh TLS dengan pengecualian dari no_certificate. Tambahan kode pada TLS yang
berpengaruh yaitu user_canceled, no_renegotiation, decrypt_error, record_overflow,
unknown_ca, access_denied, decode_error, protocol_version, insufficient_security,
unsupported_extension, internal_error.
Cipher suite
a. Pertukaran kunci
Algoritma yang hanya dapat berkinerja baik pada data yang kecil.Algoritma ini memiliki
sifat yang asimetris yang berguna untuk melindungi informasi yang diperlukan untuk
membuat kunci bersama.
b. Enkripsi massal
Algoritma yang hanya dapat berkinerja baik pada data yang besar.Algoritma ini memiliki
sifat yang simetris yang berguna untuk mengenkripsi pesan dan dapat di tukarkan antara klien
dan server.
c. Otentikasi pesan
.Algoritma ini menghasilkan hash pesan dan tanda tangan untuk menjamin integritas pesan.
Perbedaan chiper suites yang ada di TLS dan SSL adalah :
a. Key exchange : TLS mendukung semua pertukaran kunci yang ada di SSLv3
dengan pengecualian Fortezza (Diffie Hellman).
b. Symmetric Encryption Algorithm : TLS mencakup semua algoritma simetris
pada SSLv3 kecuali Fortezza.
SSL menyediakan mekanisme untuk mengotentikasi indentitas server, maka SSL juga
menyediakan mekanisme untuk mengotentikasi indentitas client. Tipe-tipe Client Certificate yaitu
sebagai berikut :
a. Certificate Request
Untuk mengotentikasi identitas klien, server terlebih dahulu mengirim pesan
Certificate Request. Pesan ini tidak hanya meminta klien untuk mengirim sertifikatnya
(dan untuk menandatangani informasi menggunakan kunci pribadi untuk sertifikat itu),
itu juga memberitahu klien yang sertifikat dapat diterima ke server. Certificate Request
message merupakan pesan berisi daftar jenis sertifikat yang dapat diterima.
b. Certificate Verify.
Certificate Verify message membuktika bahwa klien memiliki kunci privat yang sesuai
dengan kunci publiknya. Pesan terdiri dari informasi di dalam hash yang ditanda tangani
seorang klien dengan cara digital. Format yang dimiliki untuk menandatangani pesan
tersebut ada 2 yaitu RSA dan DSA. Untuk RSA kedua hash yang terpisah digabung
untuk ditandatangani, yaitu hash MD5 dan hash SHA.Sedangkan untuk DSA hanya hash
SHA yang dibuat dan ditandatangani. Pada certificate_message TLS : hash MD5 dan
SHA-1 dikalkulasikan sepanjang handshake message. Kalkulasi Hash meliputi master
secrets dan pads.
c. Finished message
Pesan ini menunjukkan bahwa negosiasi ssl selesai dan bahwa cipher suite yang
dinegosiasikan berlaku. Tubuh pesan Selesai terdiri dari dua hasil hash, satu
menggunakan algoritma hash md5 dan yang lainnya menggunakan algoritma hash sha.
Kedua perhitungan hash menggunakan informasi yang sama sebagai input, dan
keduanya dihitung dalam dua tahap. hash berdasarkan pada shared master_secret,
handshake message sebelumnya, label yang menandai client dan server. Kalkulasinya
pada TLS sebagai berikut:
Penjelasan
Master_secret: digunakan oleh client dan server untuk membangkitkan the
write MAC secret yang digunakan oleh session key untuk hashing dan write
key (enkripsi).
Handshake_message: message secara keseluruhan termasuk Client Key
Exchage.
Finished label: string “client finish” untuk client dan “server finish” untuk
server.
Kalkulasi pre_master_secret = SSLv3 yang mana kalkulasi master_secret-nya berbeda,
yaitu:
Pada TLS jumlah padding yang ditambahkan tidak memiliki ketentuan khusus yang
menghasilkan kelipatan dari panjang chiper block hingga maksimumnya 255 bytes.
Variabel padding digunakan untuk menggagalkan serangan yang berbasis pada analisis
length dari pertukaran message.
HTTPS
HTTPS merupakan sebuah protocol komunikasi yang dilengkapi dengan protocol
keamanan tambahan yaitu TLS/SSL untuk memberikan perlindungan dari serangan Man In The
Middle Attack pada internet yang menghubuhkan client dan server. Terdapat perbedaan antara
https dengan http sebagai berikut :
a. Segi port default http menggunakan port 80, sedangkan https menggunakan port
443 dan menggunakan SSL.
b. Tingkat keamanan yang dimiliki oleh http itu biasa sedangkan https memiliki
tingkat keamanan yan tinggi.
HTTPS memiliki kelebihan dan kekurangan dalam komunikasi yaitu :
a. Kelebihan
1. Melindungi data dari akses yang tidak diijinkan, hanya penerima yang
diijinkan untuk membaca data
2. Menjaga kerahasiaan data (data privasi).
3. Klien dan server autentikasi
4. Memastikan bahwa tidak ada yang bisa merusak data yang ditransmisikan.
b. Kekurangan
1. Website Lebih Lambat
2. Penurunan penunjung bisa bersifat sementara, bisa juga bersifat tetap.
Mesin pencari akan melakukan reindex setelah pemasangan protokol
HTTPS, sehingga terjadi penurunan visitor website sementara.
3. Dengan menggunakan protokol HTTPS, berarti anda harus membayar biaya
tambahan yang lumayan mahal, tergantung jenis SSL yang anda gunakan