Subjek
- #TLS
Dibuat: 2024-10-27
Dibuat: 2024-10-27 21:31
Sekitar tahun 2020, karena TLS 1.1 berhenti didukung
maka diperlukan pengecekan pada server-server lama.
Jika TLS 1.1 dipertahankan, akan terjadi error saat komunikasi antar layanan cloud seperti AWS, Azure,
atau error saat komunikasi API eksternal seperti pembayaran, dan potensi masalah tergantung versi browser.
- Versi 6.x ke bawah tampaknya tidak mendukung TLS 1.2. Perlu penggantian ke TLS 1.2 melalui JRE Java 7 atau yang lebih baru.
- Versi 1.1.13 tampaknya mendukung TLS 1.2.
Client Hello: Klien mengirimkan permintaan koneksi ke server. (Termasuk versi TLS dan kumpulan cipher yang didukung)
Server Hello: Server mengirimkan versi TLS, kumpulan cipher, dan sertifikat SSL yang akan digunakan untuk membuktikan keandalannya.
Pertukaran kunci dan pembuatan kunci sesi: Klien dan server membuat kunci sesi bersama melalui algoritma pertukaran kunci.
Pesan penyelesaian: Klien dan server mengirimkan pesan penyelesaian yang dienkripsi dengan kunci masing-masing.
Transfer data: Data dienkripsi dan ditransfer menggunakan kunci sesi.
Penutupan: Setelah transfer data selesai, pesan penutupan sesi dikirimkan, dan informasi kunci sesi dihapus.
TLS adalah protokol keamanan pada tahap transfer, dan merupakan dasar dari HTTPS. Memberikan otentikasi, integritas, dan enkripsi.
1.2 dikatakan lebih unggul dari 1.1 dalam hal keamanan dan kinerja.
- 1.1 menggunakan algoritma hash md5 dan sha-1.
- 1.1 rentan terhadap serangan BEAST, Man-in-the-middle, dan Cipher Suite.
* BEAST: penyerang mencegat koneksi HTTPS untuk menyuntikkan konten berbahaya
* Man-in-the-middle: penyerang mencegat komunikasi untuk mencuri data
- 1.2 menggunakan algoritma sha-256. (Algoritma keamanan yang lebih kuat)
- 1.2 mendukung kumpulan cipher GCM (Galois/Counter Mode), dan melakukan enkripsi dan otentikasi secara bersamaan sehingga lebih cepat.
Semua mekanisme enkripsi yang dibutuhkan agar klien dan server dapat bertukar data, terdiri dari 4 bagian.
1. Algoritma pertukaran kunci
- Cara aman untuk bertukar kunci rahasia bersama, contohnya RSA, Diffie-Hellman
2. Algoritma otentikasi
- Memverifikasi apakah server dapat dipercaya melalui sertifikat, contohnya kunci publik RSA
3. Algoritma enkripsi simetris
- Cara untuk mengenkripsi data selama sesi, dan klien serta server mendekripsi menggunakan kunci sesi yang sama, contohnya AES
4. Kode otentikasi pesan
- Memverifikasi integritas data, contohnya HMAC-SHA256
Kumpulan cipher ditunjukkan dengan menggabungkan empat elemen di atas.
Komentar0