SSL VÀ TLS
Secure Sockets Layer
SSL là một giao thức phân lớp SSL không phải là một giao thức đơn lẻ mà là hai lớp giao thức được mô tả như hinh 1
Ngăn xếp giao thức SSL bao gồm SSL Record Protocol, nằm trên các giao thức truyền tải đáng tin cậy như TCP, cung cấp dịch vụ bảo mật cơ bản cho các giao thức lớp trên Ba giao thức lớp trên trong quản lý và trao đổi SSL là HandShake Protocol, Change Cipher Spec Protocol và Alert Protocol.
Có hai thông số kỹ thuật được định nghĩa ở SSL là SSL session (phiên) và SSL connection (kết nối)
SSL session là một kết nối an toàn giữa máy khách và máy chủ, được thiết lập thông qua HandShake Protocol Quy trình này xác định các tham số bảo mật mã hóa để chia sẻ giữa nhiều kết nối, giúp tiết kiệm thời gian và tài nguyên bằng cách tránh đàm phán lại các tham số bảo mật cho mỗi kết nối mới.
SSL session quản lý trạng thái giữa máy khách và máy chủ, bao gồm trạng thái hoạt động hiện tại và trạng thái chờ xử lý Khi nhận được thông điệp change cipher spec, máy khách hoặc máy chủ sẽ chuyển trạng thái đọc đang chờ sang trạng thái đọc hiện tại.
Bản tin change cipher spec trong giao thức SSL/TLS cho phép máy khách và máy chủ sao chép trạng thái ghi đang chờ xử lý vào trạng thái ghi hiện tại Sau khi hoàn tất quá trình đàm phán bắt tay, hai bên sẽ trao đổi bản tin này và bắt đầu giao tiếp bằng các thông số kỹ thuật mật mã mới đã được thỏa thuận.
Trạng thái phiên được định nghĩa bởi các thông số sau:
- Session identifier (số nhận dạng phiên): là một giá trị được tạo bởi máy chủ xác định trạng thái phiên là hoạt động (active) hay phục hồi lại (resumable)
- Peer certificate (chứng chỉ ngang hàng): là một chứng chỉ X.509 v3, thông số này có thể là rỗng
- Compression method (phương pháp nén): là thuật toán được sử dụng để nén dữ liệu trước khi mật mã hóa
Cipher spec (thông số mật mã) chỉ định các thuật toán mã hóa dữ liệu như DES và thuật toán băm như MD5, SHA-1 để tính toán MAC Nó cũng xác định các thuộc tính mật mã, bao gồm kích thước băm.
The master secret is a crucial 48-byte key shared between the client and server, representing secure confidential data used for generating encryption keys, MAC secret keys, and initialization vectors.
- Is resumable: là 1 cờ cho biết phiên có được sử dụng để bắt đầu các kết nối mới
Kết nối trong mô hình phân lớp OSI là một loại dịch vụ transport, cung cấp các kết nối tạm thời theo phương thức ngang hàng (peer-to-peer) Đối với SSL, mỗi kết nối đều được liên kết với một phiên cụ thể.
Trạng thái kết nối được định nghĩa bởi các thông số sau:
- Server and client random: là chuỗi bytes được lựa chọn giữa máy khách và máy chủ trong mỗi kết nối
- Server write MAC secret: chỉ ra khóa bí mật được sử dụng trong MAC trên dữ liệu được gửi từ máy chủ
- Client write MAC secret: chỉ ra khóa bí mật được sử dụng trong MAC trên dữ liệu từ máy khách gửi
- Server write key: là khóa mật mã thường cho dữ liệu được mã hóa tại máy chủ và giải mã tại máy khách
- Client write key: là khóa mật mã thường cho dữ liệu được mã hóa tại máy khách và giải mã tại máy chủ
Vecto khởi tạo (IV) là yếu tố quan trọng trong mã hóa khối theo chế độ CBC, được duy trì cho mỗi khóa và được khởi tạo bởi giao thức SSL Handshake Khối bản mã cuối cùng từ mỗi bản ghi được sử dụng làm vecto khởi tạo cho bản ghi tiếp theo Trước khi tiến hành mã hóa, vecto khởi tạo được XOR với khối bản rõ đầu tiên để đảm bảo tính bảo mật.
Mỗi bên trong kết nối đều duy trì số thứ tự riêng cho các tin nhắn được gửi và nhận Khi có thông báo về sự thay đổi thông số kỹ thuật mật mã, số thứ tự sẽ được đặt lại về 0 Lưu ý rằng số thứ tự không được vượt quá giá trị 2^64 - 1.
Giao thức SSL Record nhận bản tin ứng dụng và phân mảnh dữ liệu thành các khối để quản lý Dữ liệu có thể được nén tùy chọn, áp dụng MAC, mã hóa và thêm tiêu đề trước khi truyền qua TCP Dữ liệu sau khi nhận được sẽ được giải mã, xác minh, giải nén và tập hợp lại trước khi chuyển đến các máy khách.
Các bước thực hiện trong SSL Record Protocol được trình bày như hình 2
Hình 1.2 Hoạt động của SSL Record Protocol
Bước đầu tiên trong quy trình là phân mảnh các bản tin ở lớp cao hơn thành các khối gọi là bản ghi SSLPlaintext, với kích thước tối đa không vượt quá 2^14 bytes Tiếp theo, tất cả các bản tin được nén bằng thuật toán nén được xác định trong trạng thái phiên hiện tại Thuật toán này chuyển đổi cấu trúc SSLPlaintext thành SSLCompressed, đảm bảo rằng quá trình nén không làm mất dữ liệu và không tăng độ dài hiện tại quá 1024 bytes.
Tiếp theo dùng khóa bí mật được chia sẻ để tính toán MAC trên dữ liệu đã nén được mô tả như hình 1.3
Hình 1.3 Tính MAC trên dữ liệu đã được nén
Phép tính được định nghĩa như sau:
H1 = hash(MAC-write-secret || pad-1 || seq-num || SSLCompressed.type ||
H = hash(MAC-write-secret || pad-2 ||H1)
• Hash: thuật toán băm mật mã có thể là MD5 hay SHA-1
• MAC-write-secret: khóa bí mật được chia sẻ
• Pad-1: byte 0x36 (0011 0110) được lặp lại 48 lần (384 bits) đối với MD5 hay lặp 40 lần (320 bits) đối với SHA-1
• Pad 2: byte 0x5C (0101 1100) được lặp lại 48 lần với MD5 hay lặp hay 40 lần với SHA-1
• Seq-num: số thứ tự của bản tin
• SSLCompressed.type: giao thức lớp trên để xử lý phân đoạn này
• SSLCompressed.length: độ dài của phân đoạn đã nén
• SSLCompressed.fragment: đoạn nén (hay là bản rõ nếu không được nén)
Bản tin được nén ghép với MAC và mã hóa bằng mật mã đối xứng Các thuật toán mã hóa sử dụng bao gồm DES, Triple DES, IDEA, Fortezza với kích thước khóa lần lượt là 56, 168, 128, và 80 bit, trong khi RC5 cho phép kích thước khóa tùy chọn Đối với mã hóa khối, phần đệm được thêm vào sau MAC trước khi tiến hành mã hóa.
Nhóm 05 thực hiện mã hóa dòng bằng cách nén tin nhắn và mã hóa MAC, trong đó MAC được tính toán trước khi mã hóa diễn ra, và được mã hóa cùng với bản rõ đã được nén.
Bước cuối cùng của quá trình SSL Record Protocol là gắn thêm một tiêu đề bản ghi SSL Khuôn dạng bản ghi SSL được mô tả như hình 4
Hình 1.4 Khuôn dạng bản tin SSL
Tiêu đề SSL bao gồm các trường sau:
- Content type (8 bit): là giao thức lớp trên được sử dụng để xử lý phân đoạn kèm theo
- Major version (8 bit): cho biết phiên bản chính của SSL đang sử dụng
- Minor version: (8 bit) cho biết phiên bản nhỏ của SSL đang sử dụng
- Compressed length (16 bit): cho biết độ dài tính bằng byte của phân đoạn bản rõ hay phân đoạn nén nếu yêu cầu nén Có giá trị lớn nhất là 2 14 + 2048
1.1.4 SSL Change Cipher Spec Protocol
Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong ba giao thức đặc trưng của SSL, bao gồm một bản tin đơn 1 byte với giá trị 1 Mục đích chính của giao thức này là tạo ra trạng thái tiếp theo để thay thế trạng thái hiện tại, từ đó cập nhật bộ mã hóa cho kết nối.
Giao thức SSL Alert được sử dụng để truyền tải các cảnh báo liên quan đến liên kết SSL giữa các thực thể ngang hàng Mỗi thông điệp trong giao thức này có kích thước 2 bytes, trong đó byte đầu tiên chứa giá trị quan trọng.
Giao thức TLS
TLS, hay Giao thức Bảo mật Giao vận, là một giao thức bảo mật cung cấp mức độ riêng tư cao và tính toàn vẹn dữ liệu khi giao tiếp qua mạng và internet Kể từ khi ra mắt vào năm 1999, TLS đã trở thành tiêu chuẩn bảo mật cho các ứng dụng web và trang web trên toàn cầu, thay thế cho hệ thống SSL (Lớp cổng bảo mật) cũ hơn.
Giao thức TLSv1 được phát triển dựa trên đặc tả SSLv3 của Netscape, với nhiều cấu trúc và quy tắc dữ liệu tương đồng Do đó, sự khác biệt giữa TLSv1 và SSLv3 là không đáng kể.
17 | Nhóm 05 nội dung giao thức giống hệt nhau của TLSv1 và SSLv3 mà chỉ đi tìm hiểu những điểm khác biệt
Mã xác thực thông điệp băm (HMAC) là một phương pháp xác thực sử dụng khóa mật mã kết hợp với hàm băm Việc tạo ra HMAC yêu cầu phải có thông tin về khóa mật mã MAC Trong giao thức TLS, thuật toán HMAC được định nghĩa theo tiêu chuẩn RFC 2104.
Với: H = Hàm băm 1 chiều cho TLS (hoặc MD5 và SHA-1)
Khóa bí mật K được mở rộng bằng cách thêm các bit 0 vào cuối cho đến khi đạt chiều dài khối mã băm, với MD5 và SHA-1 có kích thước 512 bit Giá trị ipad được biểu diễn là 00110110 (0x36) và lặp lại 64 lần để tạo thành 512 bit, trong khi opad được biểu diễn là 01011100 (0x5c) cũng lặp lại 64 lần, tạo thành 512 bit.
M = thông điệp đầu vào HMAC
- Nối các bit 0 vào cuối K để tạo chuỗi có 512 bit độ dài (ví dụ K = 144 thì ta sẽ thêm vào 368 bit 0 hoặc 46 byte 0 0x00)
- XOR K với ipad để tạo ra chuỗi bit như trên
- Nối M vào chuỗi từ bước 2
- Áp dụng H cho luồng được tạo ở bước 3
- XOR K với opad để tạo chuỗi bit giống bước 1
- Nối hàm băm ở bước 4 vào chuỗi có được ở bước 5
- Áp dụng H cho luồng được tạo ở bước 6 và xuất ra kết quả
Hình 1.6 Hoạt động của thuật toán HMAC sử dụng MD5 hoặc SHA-1 Đối với TLS, tính toán MAC bao gồm các trường được chỉ ra như sau:
HMAC_hash(MAC_write_secret, seq_num||
Có thể thấy rằng phép tính Mac chứa tất cả các trường của SSLv3 cộng thêm trường TLSCompressed.version là phiên bản của giao thức đang sử dụng
- Trường kiểu (type) chỉ giao thức tầng cao hơn
- Trường phiên bản (version) chỉ phiên bản giao thức (ví dụ: 3,1 cho TLS v1.0)
- Trường độ dài (length) là độ dài (tính bằng byte) của phần dữ liệu phân mảnh
- Trường phân mảnh (fragment) có độ dài tùy ý (lên đến 214 byte) tạo nên dữ liệu của giao thức lớp cao hơn
TLS sử dụng hàm giả ngẫu nhiên (PRF) để mở rộng bí mật thành các khối dữ liệu nhằm tạo khóa hoặc xác thực PRF nhận đầu vào từ các giá trị nhỏ như bí mật, "hạt giống" và nhãn nhận dạng, sau đó tạo ra đầu ra với các khối dữ liệu dài hơn tùy ý Hàm mở rộng dữ liệu, P băm (bí mật, dữ liệu), áp dụng một hàm băm duy nhất để thực hiện quá trình mở rộng đầu vào.
P_hash(secret, seed) = HMAC_hash (secret, A(1)||seed) ||
A(i) = HMAC hash(secret, A(i-1)) and || là phép nối
Hình 1.7 Cơ chế mở rộng dữ liệu TLS sử dụng hàm P_hash (secret,seed)
Hàm băm P được sử dụng nhiều lần để thu thập dữ liệu cần thiết, với thuật toán HMAC kết hợp MD5 hoặc SHA-1 làm hàm băm cơ bản PRF của TLS được tạo ra bằng cách chia Secret thành hai phần S1 và S2, sử dụng S1 để tạo dữ liệu với P MD5 và S2 với P SHA-1 Hai kết quả này sau đó được XOR để tạo ra đầu ra cuối cùng S1 và S2 lần lượt lấy từ nửa đầu và nửa sau của Secret, với độ dài tương ứng chia đôi giá trị Secret tổng thể, và nếu có dư sẽ được làm tròn Nếu Secret ban đầu có độ dài lẻ, byte cuối cùng của S1 sẽ trùng với byte đầu tiên của S2.
PRF sẽ là kết quả của việc XOR 2 luồng giả bằng nhiên:
PRF(secret, label, seed) = P MD5(S1, label||seed) ⊕ P SHA − 1(S2, label||seed)
Giao thức cảnh báo được chia thành hai loại: cảnh báo khép kín và cảnh báo lỗi Lớp TLS Record đóng vai trò quan trọng trong việc gửi thông báo cảnh báo.
Nhóm 05 cảnh báo thể hiện mức độ nghiêm trọng và mô tả về cảnh báo, với khả năng dẫn đến việc ngắt kết nối ngay lập tức Máy khách và máy chủ sẽ thông báo cho nhau rằng kết nối đã kết thúc nhằm tránh bị tấn công Một trong hai bên có thể gửi thông báo đóng kết nối, ngụ ý rằng bên gửi sẽ không gửi thêm bất kỳ tin nhắn nào qua kết nối này nữa.
Xử lý lỗi trong giao thức TLS Handshake là một quy trình đơn giản Khi một bên phát hiện lỗi, họ sẽ gửi thông báo cho bên còn lại Sau khi nhận được thông báo, cả hai bên sẽ ngay lập tức đóng kết nối để đảm bảo an toàn.
TLS hỗ trợ tất cả các cảnh báo lỗi được xác định ở SSLv3 và bổ sung thêm các cảnh báo lỗi dưới đây:
Giải mã không thành công: Một bản mã TLS không hợp lệ đã được giải mã Khi kiểm tra, nó không phải là bội số chẵn của độ dài khối hoặc bộ đệm.
- Record overflow: Một TLS Record nhận được bản mã có độ dài vượt quá 214 +
2048 byte hoặc một bản mã được giải mã với độ dài vượt quá 214 + 2048 byte
Nhận được một chuỗi hoặc một phần chứng chỉ nhưng không được chấp nhận do không thể xác định chứng chỉ CA hoặc không khớp với một chứng chỉ khác.
CA đáng tin cậy đã biết từ trước
- Access denied: Chứng chỉ hợp lệ đã được nhận, nhưng khi kiểm soát truy nhập được áp dụng, người gửi không tiến hành thỏa thuận
- Decode error: Thông điệp không thể giải mã do có một trường nằm ngoài phạm vi xác định hoặc độ dài của thông điệp không chính xác
- Export restriction: Một thỏa thuận không được tuân thủ do các hạn chế khi xuất
Phiên bản giao thức mà khách hàng đã thỏa thuận được khôi phục, tuy nhiên, nó không được hỗ trợ do các phiên bản cũ có thể bị từ chối vì lý do bảo mật.
Lỗi Handshake không được chấp nhận xảy ra khi máy chủ yêu cầu mật mã an toàn hơn những gì mà máy khách có thể hỗ trợ, dẫn đến tình trạng bảo mật không đủ.
- Internal error: Một lỗi không liên quan gì về tính năng ngang hàng hay giao thức bị sai, ví dụ như lỗi cấp phát bộ nhớ
- User canceled: Hoạt động Handshake bị hủy do những lỗi không liên quan về tính đúng đắn của giao thức
Trong giao thức truyền thông, "No renegotiation" đề cập đến việc gửi thông điệp từ máy chủ để phản hồi phần Hello của khách, hoặc từ máy khách để đáp lại yêu cầu xin chào sau khi đã hoàn tất Handshake Những thông điệp này thường nhằm mục đích thỏa thuận lại, nhưng trong trường hợp này, chúng chỉ ra rằng người gửi không thể thực hiện việc thỏa thuận lại.
- Decrypt error: Handshake không thành công, bao gồm không xác minh được chữ ký, giải mã trao đổi khóa hoặc xác thực một thông điệp đã hoàn tất
Trong các lỗi ở mức cảnh báo, bên gửi có quyền tự quyết định mức độ nghiêm trọng của lỗi Khi nhận được thông báo ở mức cảnh báo, bên nhận có thể tự đánh giá mức độ ảnh hưởng Tuy nhiên, nếu thông điệp được gửi ở mức nghiêm trọng, nó sẽ được xem là lỗi nghiêm trọng đối với bên nhận.
SSL ATTACK (TẤN CÔNG SSL)
Tìm hiểu về tấn công Man-in-the-Middle (MITM)
Tấn công Man in the Middle (MITM) là một trong những hình thức tấn công mạng phổ biến, thường nhắm đến cá nhân và tổ chức lớn MITM hoạt động giống như một kẻ nghe trộm, thiết lập kết nối đến máy tính nạn nhân và chuyển tiếp dữ liệu giữa các bên Trong quá trình này, nạn nhân tin rằng họ đang giao tiếp trực tiếp với nhau, nhưng thực tế, dữ liệu bị can thiệp qua host của kẻ tấn công Kết quả là, kẻ tấn công không chỉ có khả năng đánh cắp thông tin nhạy cảm mà còn có thể chèn và thay đổi dữ liệu, từ đó kiểm soát sâu hơn đối với nạn nhân.
Hình 2.1 Mô hình tấn công SSL MITM
2.1.2 Hình thức tấn công MITM - Giả mạo ARP Cache (ARP Cache Poisoning)
Tấn công này cho phép hacker, khi ở cùng subnet với nạn nhân, có khả năng nghe trộm và quan sát tất cả các phiên giao dịch cũng như lưu thông dữ liệu giữa các máy tính nạn nhân Đây là một trong những hình thức tấn công đơn giản nhưng hiệu quả nhất.
Hình 2.2 Quá trình truyền thông ARP
Giả mạo bảng ARP là việc lợi dụng tính không an toàn của giao thức ARP, khác với các giao thức như DNS có khả năng cấu hình an toàn hơn Các thiết bị sử dụng ARP chấp nhận nâng cấp bất kỳ lúc nào, cho phép bất kỳ thiết bị nào gửi gói ARP reply tới máy tính khác, dẫn đến việc máy tính đó cập nhật bảng ARP cache với giá trị mới Hành động gửi gói ARP reply mà không có yêu cầu trước gọi là ARP "vu vơ" Khi các gói ARP reply vu vơ này đến máy tính đã gửi yêu cầu, máy tính đó có thể nhầm lẫn và nghĩ rằng nó đang kết nối với đối tượng mong muốn, trong khi thực tế nó đang giao tiếp với kẻ tấn công.
Hình 2.3 Chặn truyền thông bằng các giả mạo ARP Cache
2.1.3 Hình thức tấn công MITM - Giả mạo DNS (DNS Spoofing)
Giả mạo DNS là một kỹ thuật tấn công kiểu MITM, trong đó kẻ tấn công cung cấp thông tin DNS sai lệch cho người dùng Khi người dùng truy cập vào một địa chỉ như www.bankofamerica.com với IP thực là XXX.XX.XX.XX, thông tin này sẽ được chuyển hướng đến một địa chỉ giả mạo www.bankofamerica.com với IP YYY.YY.YY.YY, do kẻ tấn công tạo ra Mục tiêu của phương pháp này là đánh cắp thông tin tài khoản ngân hàng trực tuyến của người dùng.
Giao thức Domain Naming System (DNS), được định nghĩa trong RFC 1034/1035, là một trong những giao thức quan trọng nhất trên Internet Khi bạn nhập địa chỉ web như http://www.google.com vào trình duyệt, yêu cầu DNS sẽ được gửi đến máy chủ DNS để xác định địa chỉ IP tương ứng với tên miền đó Các router và thiết bị kết nối Internet không nhận diện được google.com mà chỉ hiểu các địa chỉ IP như 12.345.56.789.
Máy chủ DNS hoạt động bằng cách lưu trữ một cơ sở dữ liệu các bản ghi tài nguyên, liên kết địa chỉ IP với tên miền DNS, và truyền thông các bản ghi này đến các máy khách cũng như các máy chủ DNS khác Kiến trúc của máy chủ DNS trong doanh nghiệp và trên Internet khá phức tạp, có thể được hình dung như những quyển sổ chuyên dụng cho việc quản lý kiến trúc DNS.
26 | Nhóm 05 lượng DNS khác nhau, mà chỉ giới thiệu một phiên giao dịch DNS cơ bản, bạn có thể thấy điều đó trong hình dưới
Hình 2.4 Mô hình truy vấn đáp trả DNS
DNS hoạt động theo cơ chế truy vấn và đáp trả, trong đó máy khách gửi một truy vấn đến máy chủ DNS để phân giải địa chỉ IP Máy chủ DNS sẽ trả về thông tin cần thiết trong gói đáp trả Từ góc độ của máy khách, chỉ có hai gói dữ liệu xuất hiện: gói truy vấn và gói đáp trả.
Có nhiều cách để có thể thực hiện vấn đề giả mạo DNS Dưới đây sẽ sử dụng một kỹ thuật mang tên giả mạo DNS ID
Mỗi truy vấn DNS đều có một số nhận dạng (ID number) duy nhất, giúp phân biệt các truy vấn và phản hồi tương ứng Nếu một máy tính tấn công có khả năng chặn truy vấn DNS từ một thiết bị cụ thể, kẻ tấn công chỉ cần tạo một gói giả mạo với ID đó để gói dữ liệu được chấp nhận bởi mục tiêu.
Hình 2.5 Tấn công giả mạo DNS bằng phương pháp giả mạo DNS ID
2.1.4 Hình thức tấn công MITM - Chiếm quyền điều khiển Session
Chiếm quyền điều khiển Session
Chiếm quyền điều khiển session (session hijacking) là thuật ngữ chỉ các tấn công khai thác sự kết nối giữa các thiết bị Những tấn công này liên quan đến việc lợi dụng session, nơi mà trạng thái đàm thoại được thiết lập khi kết nối chính thức được tạo ra Kết nối này cần được duy trì và yêu cầu một quy trình nhất định để ngắt.
Hành động chiếm quyền điều khiển session liên quan đến các session HTTP, thường thấy trên các website yêu cầu thông tin đăng nhập Để thiết lập session, người dùng cần được xác thực qua username và password Sau đó, website duy trì kiểm tra session thông qua cookie để đảm bảo người dùng vẫn đăng nhập và có quyền truy cập tài nguyên Khi session kết thúc, các chứng chỉ username và password sẽ bị xóa bỏ, đánh dấu sự hết hiệu lực của session Mặc dù không phải lúc nào cũng nhận ra, các session xuất hiện liên tục và hầu hết sự truyền thông đều dựa vào các hình thức của session hoặc hành động dựa trên trạng thái.
Hình 2.6 Một Session bình thường
Trong các cuộc tấn công mạng, không có dữ liệu nào là an toàn, bao gồm cả dữ liệu session Nguyên lý chính của việc chiếm quyền điều khiển session là nếu kẻ tấn công có thể chặn thông tin cần thiết để thiết lập session, họ có thể sử dụng thông tin đó để giả mạo một trong các thành phần trong quá trình truyền thông và truy cập vào thông tin session Ví dụ, nếu kẻ tấn công chiếm đoạt cookie duy trì trạng thái session giữa trình duyệt và website, họ có thể sử dụng cookie đó để giả mạo kết nối của người dùng với máy chủ web, từ đó tạo lợi thế cho chính mình.
Hình 2.7 Chiếm quyền điều khiển Session
2.1.5 Hình thức tấn công MITM - Chiếm quyền điều khiển SSL Đây là một trong những tấn công MITM nguy hiểm nhất vì nó cho phép khai thác các dịch vụ mà người dùng tưởng rằng là an toàn
Tấn công SSL trên HTTP - HTTPS
Trong phần này, chúng tôi sẽ tập trung vào tấn công SSL trên HTTP, hay còn gọi là HTTPS, vì đây là ứng dụng phổ biến nhất của SSL Hầu hết người dùng không nhận ra rằng họ đang sử dụng HTTPS hàng ngày Các dịch vụ email và ứng dụng ngân hàng trực tuyến phổ biến dựa vào HTTPS để đảm bảo rằng thông tin giữa trình duyệt và máy chủ được mã hóa an toàn Nếu không có công nghệ này, những kẻ xấu có thể dễ dàng phát hiện username, password và các thông tin nhạy cảm khác thông qua các công cụ dò gói dữ liệu trên mạng.
HTTPS sử dụng một quy trình bảo mật để đảm bảo an toàn dữ liệu bằng cách kiểm soát việc phân phối chứng chỉ giữa máy chủ, máy khách và các bên thứ ba đáng tin cậy Ví dụ, khi người dùng kết nối đến tài khoản email Gmail, quá trình này diễn ra qua một số bước rõ ràng, được đơn giản hóa trong hình minh họa bên dưới.
Hình 2.9 Quá trình truyền thông HTTPS
Quá trình được phác thảo trong hình 2.8 không phải là một quá trình chi tiết, tuy nhiên về cơ bản nó sẽ làm việc như ví dụ sau:
- Trình duyệt máy khách kết nối đến http://mail.google.com trên cổng 80 bằng cách sử dụng HTTP
- Máy chủ chuyển hướng phiên bản HTTPS máy khách của site này bằng cách sử dụng HTTP code 302
- Máy khách kết nối đến https://mail.google.com trên cổng 443
Máy chủ cung cấp một chứng chỉ cho máy khách, bao gồm chữ ký số của chính nó, nhằm xác thực danh tính của trang web Chứng chỉ này đóng vai trò quan trọng trong việc đảm bảo sự tin cậy và an toàn khi người dùng truy cập vào trang.
- Máy khách sử dụng chứng chỉ này và thẩm định chứng chỉ này với danh sách các nhà thẩm định chứng chỉ tin cậy của nó
- Truyền thông mã hóa sẽ xảy ra sau đó