You are on page 1of 8

Message Authentication Code (MAC) Pada Transport Layer Security(TLS)

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.

Pada SSL menggunakan algoritma MAC,sedangkan pada TLS menggunakan algoritma


HMAC(Hash Message Authentication Code). HMAC ini merupakan kontruksi khusus dari MAC
yang nilainya dihitung dengan menggunakan fungsi hash yamg telah dikombinasikan dengan
kunci tertentu,otentifikasi dan verifikasi terhadap integritas suatu pesan juga dapat dilakukan oleh
HMAC. HMAC dapat didefinisikan sebagai berikut :

HMAC K (M) = H [(K ⊕ opad) ∥ H [(K ⊕ ipad) ∥ M]]

Dimana :

H : Fungsi hash (untuk tls,MD5, atau SHA-1)

M : Pesan yang akan diotentikasi

K : Kunci rahasia, yang harus ditambahkan bitbit padding 0 hingga sepanjang ukuran
blok pada fungsi hash yang digunakan

⊕ : Exclusive or (XOR)

Opad : Outer padding (01011100 5C in hexadecimal) repeated 64 times(512 bits)

Ipad : Inner padding (00110110 36 in hexadecimal) repeated 64 times(512 bits)


Perhitungan MAC di dalam TLS

Dimana

MAC_write_secret : shared secret key.

Seq_number : urutan nomor dari TLS Record Protocol Message yang


diinisialisasikan dalam 0 dan dinaikkan nilainya hingga 264-1

TLSCompressed.type : mengidentifikasi lapisan protocol yang lebih tinggi


untuk memproses fragment tersebut.

TLSCompressed.length : Panjang dari fragment yang sudah dikompresi.

TLSCompressed.frgamented : Fragmen data yang sudah dikompresi (atau


plain text jika tidak dikompresi)

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.

Definisi fungsi perluasan data P_hash(secret, data) satu algoritma :

P_hash(secret, seed) = HMAC_hash(secret, A(1) || seed) ||


HMAC_hash(secret, A(2) || seed) ||
HMAC_hash(secret, A(3) || seed) ||

Dimana A( ) didefinisikan sebagai :

A(0) = seed

A(i) = HMAC_hash (secret, A(i-1))


P_hash dapat diulang sebanyak yang diperlukan untuk menghasilkan jumlah data
yang diperlukan. Sebagai contoh, jika P_SHA-1 digunakan untuk membuat 64 byte data,
itu harus diulang 4 kali (melalui A (4)), menciptakan 80 byte data output; 16 byte terakhir
dari iterasi terakhir kemudian akan dibuang, meninggalkan 64 byte data output.

Fungsi pseudorandom ini mengambil nilai rahasia,mengidentifikasi label dan seed


sebagai input dan memnghasilkan output dengan panjang berubah-ubah, dengan
menggunakan 2 buah algoritma hash dapat membuat fungsi pseudorandom menjadi sangat
aman yaitu sebagai berikut :

PRF(secret, label, seed) = P_hash(S1, label || 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

Cipher suite merupakan seperangkat algoritma yang digunakan untuk mengamankan


koneksi jaringan yang menggunakan protocol TSL dan SSL.Tugas yang ditentukan oleh cipher
suite yaitu :

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.

Tipe-Tipe Client Certificate

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:

Algoritma dijalankan hingga menghasilkan 48 bytes output peseudorandom.dan lalkulasi


untuk key_block:

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

Elemen yang dienkripsi pada komunikasi yang menggunakan HTTPS adalah :


a. URL of the request document
b. Contents of the document
c. Contents of browser forms (filled in by browser user)
d. Cookies sent from browser to server and from server to browser
e. Contents of HTTP header
Nurwahyudi, Agus.”Keamanan Pada SSL(Secure Socket Layer)”.18 November 2018.
https://www.scribd.com/doc/44970219/Makalah-Secure-Socket-Layer-SSL

Nikentari,Nerfita.”Web Security”. 18 November 2018.

Sriwahyuni.2017. WEB Security.Bandung:Universitas TELKOM

Thomas, Stephen.2000. SSL and TLS Essentials.Canada: Wiley Computer Publishing

Meidy,Maharani.”Network Security”.19 November 2018.


https://www.scribd.com/presentation/359159736/Network-Security-PPT-fix

You might also like