Giải ngố HTTPS – Hồi 1 Cảnh 3 – Có gì trong nồi lẩu SSL/TLS?

convitlac
2/10/2020 9:27Phản hồi: 2
Giải ngố HTTPS – Hồi 1 Cảnh 3 – Có gì trong nồi lẩu SSL/TLS?
Kết thúc Hồi 1 Cảnh 2 - Điều gì xảy ra khi truy cập HTTPS website, với tâm trạng rối bời, tôi vẫn gắng gượng phọt ra một câu hỏi quan trọng “SSL/TLS sử dụng kết hợp cái đám đầu trâu mặt ngựa Digital Signature, Diffie-Hellman key exchange algorithm, Advanced Encryption Standard (AES), Rivest–Shamir–Adleman (RSA), Elliptic Curve Cryptography (ECC),… như thế nào?”. Và câu hỏi này lại dẫn tôi đến một câu hỏi khác “Thế hiện giờ thiên hạ đang xài phiên bản SSL/TLS nào?”.

#1. SSL/TLS – cuộc đời và sự nghiệp

Cái này coi bộ dễ ăn, sau vài đường lả lướt, tôi đáp xuống một trang với thông tin.
image.png
Ngon! Tiện tay vớ cuốn từ điển cũ mèm (vì hay dùng làm đế tản nhiệt cho laptop chứ không phải tôi siêng năng học hành gì đâu), tôi tra ngay cái từ khóa trong hình trên: Deprecated – Hàng hết date, tã lắm rồi, không nên dùng!
image.png
Cám ơn trời đất, vậy tôi chỉ cần tập trung vô TLS 1.2/1.3 và quăng mịa cái đám còn lại được rồi. Máu làm biếng nổi lên, tôi nghĩ có khi hiện giờ thiên hạ cũng bỏ cái TLS 1.2 luôn rồi không chừng. Tôi hăm hở Google:
image.png
Thiên bất dung gian, cái miếng bánh TLS 1.2 xanh lá cây chà bá lửa tương thẳng vào mồm tôi. À, thì ra đây là thời kỳ quá độ nên ông TLS 1.2 cũng còn bá đạo lắm. Thôi thì đành chiến với cả TLS 1.2 TLS 1.3 vậy.

#2. Nồi lẩu TLS 1.2

Với kinh nghiệm nhiều năm ăn hành, tôi dự là thằng TLS 1.3 sẽ thêm thắt vẽ vời các kiểu dựa trên nền tảng của thằng TLS 1.2. Do vậy tôi nghĩ mình nên bắt đầu với việc giải ngố TLS 1.2 trước.

Sau một hồi lặn ngụp, tôi tìm thấy:
image.png
Oh Sh*t! Hóa ra cái nồi lẩu TLS 1.2 tôi đi tìm nãy giờ nói có tên gọi chuẩn “cmn” mực là TLS 1.2 Cipher Suites. Dù chưa hiểu nó muốn thể hiện cái khỉ gì nhưng thiệt tình là đọc cái tên này nghe nó sang và sướng mồm lắm các cụ à!
Kết thúc khoảnh khắc hưng phấn ngắn ngủi, tôi quay lại với thực tế phũ phàng và đọc:
Cipher Suites là nhóm các algorithm được sử dụng để triển phần handshake (bắt tay) và vấn đề encryption/decryption sau đó. Thông thường, Cipher Suites sẽ bao gồm các yếu tố:
  • Key Exchange Algorithms
  • Authentication/Digital Signature Algorithm
  • Bulk Encryption Algorithms
  • Message Authentication Code Algorithms
Tôi thấy long thể hơi bất an rồi nhưng ráng đọc tiếp:
Xét cụ thể đối với một ví dụ của TLS 1.2 Cipher Suite như sau:
image.png

  • Key Exchange Algorithms: Đây là thuật toán trao đổi khóa với đại diện như RSA, DH, …. Trong ví dụ trên bạn thấy nó đang dùng ECDHE.
  • Authentication/Digital Signature Algorithm: Đây là thuật toán chữ ký số/ xác thực với đại diện như RSA, ECDSA,… Trong ví dụ trên bạn thấy nó đang dùng ECDSA.
  • Bulk Encryption Algorithms: Đây là thuật toán mã hóa đối xứng (Symmetric Encryption) được sử dụng chính trong quá trình mã hóa với đại diện nổi bật là AES. Trong ví dụ trên bạn thấy nó đang dùng AES_128_GCM. Với Block Ciphers, Encryption Algorithms sẽ đi kèm với thông tin về Cipher Modes (trong ví dụ trên thì nó là cái GCM).
  • Message Authentication Code Algorithms: Đây là thuật toán Hashing MAC phục vụ cho việc đảm bảo Intergrity với đại diện nổi bật là SHA-256.
Và tiếp:
Với TLS, cụ thể Handshake là quá trình client và server thống nhất về Cipher Suite sẽ được sử dụng để tạo kết nối bảo mật. Ví dụ với TLS 1.2, quá trình Handshake được tóm lược như sau:
  • Client và server xác định Cipher Suite được hỗ trợ bởi cả 2 phía;
  • Server gửi CertificatePublic Key cho client;
  • Client xác thực CertificateDigital Signature;
  • 2 bên triển Key Exchange Protocol để tạo Symmetric Sesion Keys;
  • Quá trình mã hóa bắt đầu và HMAC được dùng để bảo đảm quá trình Handshake không bị can thiệp.
Dù có phần hơi choáng nhưng hình như tôi thấy mình bắt đầu lờ mờ nhận ra vai trò của của đám “nguyên liệu” trong nồi lẩu – à không – trong cái TLS 1.2 Cipher Suite rồi.
Tạm dừng cào phím, tôi vuốt râu xem xét: “Tình hình là chỗ này giờ nó cũng không thua gì bùng binh Ngã bảy Lý Thái Tổ, không biết mình có nên rẽ vào nhánh nào trong cái đám Digital Signature, Diffie-Hellman key exchange algorithm,… hay chiến tiếp với phần Cipher Suite nữa đây?
To be continued: Giải ngố HTTPS – Hồi 2 Cảnh 1 – Key Exchange Protocol là cái vẹo gì?
2 bình luận
Chia sẻ

Xu hướng

Tới cái độ này là phải đọc đi đọc lại, ngâm cứu các kiểu rồi đây thớt ơi, lỏng con bà nó não 😆
convitlac
ĐẠI BÀNG
4 năm
@jackychanqn haha, trước mắt cứ vờ như đã hiểu giống thớt đi bác à. chờ tình hình dịu bớt rồi mình tìm cách xử lý vậy

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019