



















Preview text:
  lOMoAR cPSD| 58933639
 TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI 
 KHOA CÔNG NGHỆ THÔNG TIN   BÁO CÁO 
 BÀI TẬP LỚN AN TOÀN BẢO MẬT THÔNG TIN 
 Đề tài : Tìm hiểu về giao thức HTTP và HTTPS 
Sinh viên: Phạm Đức Việt  0292967  Nguyễn Huy Huấn  0170667  Ninh Duy Thành  0217467  Lớp: 
67 PM 3 
Hà Nội, Tháng 09 Năm 2024        lOMoAR cPSD| 58933639 Mục Lục 
I. Giao thức HTTP (Hypertext Transfer Protocol): ......................................................................... 4 
1. HTTP: ........................................................................................................................................ 4 
2. HTTP Request: ......................................................................................................................... 5 
3. HTTP Response: ....................................................................................................................... 6 
4. Hoạt động của HTTP : ............................................................................................................. 7 
5. Ưu nhược điểm của HTTP ....................................................................................................... 8 
II. Giao thức HTTPS (Hypertext Transfer Protocol Security) ..................................................... 10 
1) Lịch sử phát triển của HTTPS .............................................................................................. 10 
2) Cấu trúc của 1 https: .............................................................................................................. 11 
3) Cách mà https hoạt động: ...................................................................................................... 12 
4. Truyền dữ liệu được mã hóa .................................................................................................. 13 
5. Xác thực và toàn vẹn dữ liệu ................................................................................................. 13 
6. Kết thúc phiên HTTPS ........................................................................................................... 13 
7. Các cơ chế bảo mật bổ sung ................................................................................................... 14 
8. Lợi ích của việc sử dụng https: .............................................................................................. 14 
9. Nhược điểm và thách thức của HTTPS.......................................................17 .................... 16 
10. Quá trình triển khai HTTPS ............................................................................................... 19 
11. Các cuộc tấn công liên quan đến HTTPS ........................................................................... 19 
III. Việc minh họa và sử dụng công cụ bắt gói tin HTTP & HTTPS ........................................... 22 
1. Giới thiệu công cụ bắt gói tin “WireShark”: ....................................................................... 22 
2. Bắt và phân tích gói tin HTTP: ............................................................................................. 22 
3. Bắt và phân tích gói tin HTTPS: ........................................................................................... 32 
4. Sự khác biệt giữa HTTP và HTTPS: .................................................................................... 37 
5. Sự khác biệt khi áp dụng các trường từ HTTP sang HTTPS: ........................................... 38              lOMoAR cPSD| 58933639
 Mục tiêu của báo cáo 
 Làm rõ mục tiêu của báo cáo cũng như hiểu rõ hơn về giao thức HTTP 
(Hypertext Transfer Protocol) & HTTPS ( Hypertext Transfer Protocol Secure)  .Cụ thể :  1. 
Nghiên cứu cấu trúc và hoạt động của HTTP: Từ cách thức yêu cầu và phản 
hồi giữa client và server, các phương thức HTTP, đến ưu và nhược điểm của giao thức 
này, nhằm hiểu rõ hơn về cách dữ liệu được truyền tải trên web.  2. 
Phân tích HTTPS và sự khác biệt với HTTP: Tập trung vào cách HTTPS cải 
thiện bảo mật bằng mã hóa và xác thực, cùng với quá trình hoạt động chi tiết của 
HTTPS từ quá trình "bắt tay" SSL/TLS đến mã hóa dữ liệu.  3. 
Thực hành bắt và phân tích gói tin: Sử dụng công cụ WireShark để minh họa 
hoạt động thực tế của các gói tin HTTP và HTTPS, qua đó thấy được sự khác biệt về 
bảo mật giữa hai giao thức.      lOMoAR cPSD| 58933639 I. 
Giao thức HTTP (Hypertext Transfer Protocol):    1. HTTP: 
• HTTP là giao thức truyền tải siêu văn bản, chủ yếu được sử dụng để truyền tải dữ 
liệu trên web. Nó là một giao thức ở tầng ứng dụng, hoạt động dựa trên mô hình 
client-server, nơi mà client (ví dụ như trình duyệt web) gửi yêu cầu (request) đến 
server và server trả lời lại với phản hồi (response). 
• Là một giao thức yêu cầu-phản hồi ( Request – Respond ), HTTP cung cấp cách để 
người dùng tương tác với các tài nguyên web như tệp HTML bằng cách truyền tải 
các thông điệp hypertext giữa các client và server. Các client HTTP thường sử dụng 
kết nối Transmission Control Protocol (TCP) để giao tiếp với server 
• Mặc dù HTTP là một giao thức không trạng thái (stateless), tức là mỗi yêu cầu 
được xử lý độc lập mà không liên quan đến các yêu cầu trước đó, nhưng nó có thể 
được kết hợp với các công nghệ khác như cookies, sessions để duy trì trạng thái  giữa các yêu cầu.      lOMoAR cPSD| 58933639 2. HTTP Request: 
• HTTP Request là cách các nền tảng truyền thông Internet như trình duyệt web yêu 
cầu thông tin cần thiết để tải trang web. 
• Mỗi yêu cầu HTTP được thực hiện trên Internet đều mang theo một loạt dữ liệu 
được mã hóa mang các loại thông tin khác nhau. Một yêu cầu HTTP thông thường  bao gồm:  - 
Dòng yêu cầu (Request Line): Bao gồm phương thức HTTP, đường dẫn 
URL và phiên bản HTTP. (HTTP version type, a URL, an HTTP method)  - 
Header của yêu cầu (Request Headers): Cung cấp thông tin bổ sung như 
loại dữ liệu, định dạng mong muốn, và thông tin về client. (HTTP request headers) 
- Body của yêu cầu (Request Body): Chứa dữ liệu cần gửi lên server, thường 
được sử dụng trong các phương thức như POST hoặc PUT. (HTTP request body)  a) HTTP Method: 
 HTTP method (phương thức HTTP) là các hành động được sử dụng bởi giao thức 
HTTP để chỉ định loại yêu cầu mà client gửi đến server. Tất cả các server HTTP 
đều sử dụng phương thức GET và HEAD, nhưng không phải tất cả đều hỗ trợ các 
phương thức yêu cầu còn lại. Mỗi HTTP method đại diện cho một thao tác cụ thể 
mà client yêu cầu server thực hiện. Dưới đây là các phương thức HTTP phổ biến: 
- GET yêu cầu một tài nguyên một cách cụ thể, đầy đủ. 
- HEAD yêu cầu một tài nguyên cụ thể nhưng không bao gồm nội dung body. - 
POST thêm nội dung, thông điệp hoặc dữ liệu vào một trang mới dưới một tài  nguyên web hiện có. 
- PUT trực tiếp sửa đổi một tài nguyên web hiện có hoặc tạo một URI mới nếu  cần. 
- DELETE xóa bỏ một tài nguyên cụ thể. 
- TRACE cho người dùng thấy bất kỳ thay đổi hoặc bổ sung nào được thực hiện 
đối với tài nguyên web. 
- OPTIONS cho người dùng biết những phương thức HTTP nào có sẵn cho một  URL cụ thể. 
- CONNECT  chuyển đổi kết nối yêu cầu thành một kênh TCP/IP trong suốt. - 
PATCH sửa đổi một phần của tài nguyên web. 
b) HTTP request headers: 
 Các header HTTP chứa thông tin văn bản được lưu trữ dưới dạng các cặp keyvalue và 
chúng được bao gồm trong mọi yêu cầu HTTP (và cả phản hồi, sẽ được nói đến sau). 
Các header này truyền đạt thông tin cốt lõi, chẳng hạn như trình duyệt mà client đang 
sử dụng và dữ liệu đang được yêu cầu. 
Ví dụ về các header yêu cầu HTTP từ tab mạng của Google Chrome:      lOMoAR cPSD| 58933639   c) HTTP request body: 
 Phần body của một yêu cầu là phần chứa "nội dung" của thông tin mà yêu cầu đang 
chuyển tải. Body của một yêu cầu HTTP chứa bất kỳ thông tin nào đang được gửi 
lên web server, chẳng hạn như tên đăng nhập và mật khẩu, hoặc bất kỳ dữ liệu nào 
khác được nhập vào trong một biểu mẫu.  3. HTTP Response: 
 HTTP response là phản hồi mà các client web (thường là trình duyệt) nhận được từ 
một server Internet để trả lời cho một yêu cầu HTTP. Những phản hồi này cung cấp 
thông tin quan trọng dựa trên những gì đã được yêu cầu trong yêu cầu HTTP. 
Một HTTP response thông thường bao gồm: 
o Mã trạng thái HTTP (HTTP status code) 
o Các header của HTTP response o Phần 
body của HTTP response (nếu có) a)  HTTP status code: 
Mã trạng thái HTTP là các mã số 3 chữ số thường được sử dụng để chỉ ra liệu một yêu 
cầu HTTP có được hoàn thành thành công hay không. Các mã trạng thái được chia  thành 5 nhóm sau: 
o 1xx Thông tin (Informational) o 2xx 
Thành công (Success) o 3xx Chuyển 
hướng (Redirection) o 4xx Lỗi từ phía 
client (Client Error) o 5xx Lỗi từ phía  server (Server Error) 
Chữ "xx" chỉ các số khác nhau từ 00 đến 99. 
Mã trạng thái bắt đầu với số ‘2’ cho biết một yêu cầu đã thành công. Ví dụ, sau khi 
client yêu cầu một trang web, phản hồi thường thấy nhất có mã trạng thái là ‘200 OK’, 
cho biết rằng yêu cầu đã được hoàn thành đúng cách. 
Nếu phản hồi bắt đầu bằng số ‘4’ hoặc ‘5’, điều đó có nghĩa là có lỗi xảy ra và trang 
web sẽ không được hiển thị. Mã trạng thái bắt đầu bằng ‘4’ cho biết lỗi từ phía client 
(rất phổ biến khi gặp mã trạng thái ‘404 NOT FOUND’ khi gõ sai URL). Mã trạng thái 
bắt đầu bằng ‘5’ nghĩa là có điều gì đó đã xảy ra sai từ phía server. Mã trạng thái cũng 
có thể bắt đầu bằng ‘1’ hoặc ‘3’, tương ứng chỉ phản hồi thông tin và chuyển hướng.      lOMoAR cPSD| 58933639
b) HTTP response headers:  
Tương tự như một yêu cầu HTTP, một phản hồi HTTP đi kèm với các header truyền đạt 
thông tin quan trọng như ngôn ngữ và định dạng của dữ liệu được gửi trong phần body  của phản hồi.  c) HTTP response body: 
Các phản hồi HTTP thành công cho các yêu cầu ‘GET’ thường có một phần body chứa 
thông tin đã được yêu cầu. Trong hầu hết các yêu cầu web, đây là dữ liệu HTML mà 
trình duyệt web sẽ dịch thành một trang web. 
4. Hoạt động của HTTP :   
• HTTP là một giao thức lớp ứng dụng, hoạt động theo mô hình yêu cầu - phản hồi 
giữa máy khách (client) và máy chủ (server). Các tài nguyên được trao đổi giữa 
các thiết bị client và server qua Internet. Các thiết bị client gửi yêu cầu (requests) 
đến server để nhận tài nguyên cần thiết nhằm tải một trang web. Sau đó server sẽ 
gửi lại phản hồi (responses) để đáp ứng các yêu cầu đó. Các yêu cầu và phản hồi 
chia sẻ các tài liệu con như dữ liệu về hình ảnh, văn bản, bố cục văn bản, v.v. – 
những thứ này được trình duyệt web của client ghép lại để hiển thị toàn bộ tệp  trang web. 
• Ngoài các tệp trang web mà nó có thể phục vụ, một web server còn chứa một HTTP 
daemon, một chương trình chờ các yêu cầu HTTP và xử lý chúng khi chúng đến. 
Trình duyệt web là một client HTTP, gửi yêu cầu đến server. Khi người dùng trình 
duyệt nhập yêu cầu tệp bằng cách "mở" tệp web bằng cách nhập URL hoặc nhấp 
vào một liên kết hypertext, trình duyệt sẽ tạo một yêu cầu HTTP và gửi nó đến địa 
chỉ Giao thức Internet (IP address) được chỉ định bởi URL. HTTP daemon trong 
server đích nhận yêu cầu và gửi lại tệp hoặc các tệp liên quan đến yêu cầu đó.      lOMoAR cPSD| 58933639  
• Giả sử người dùng muốn truy cập vào Google.com. Người dùng nhập địa chỉ web 
và máy tính gửi một yêu cầu "GET" đến server lưu trữ địa chỉ đó. Yêu cầu GET 
này được gửi bằng HTTP và thông báo cho server của Google biết rằng người dùng 
đang tìm kiếm mã HTML (Hypertext Markup Language) dùng để cấu trúc và tạo 
hình giao diện cho trang đăng nhập. Văn bản của trang đăng nhập đó được bao 
gồm trong phản hồi HTML, nhưng các phần khác của trang – đặc biệt là hình ảnh 
và video – được yêu cầu thông qua các yêu cầu và phản hồi HTTP riêng biệt. Số 
lượng yêu cầu càng nhiều – ví dụ, khi gọi một trang có nhiều hình ảnh – thì thời 
gian server phản hồi các yêu cầu đó và hệ thống của người dùng tải trang sẽ càng  lâu. 
• Khi các cặp yêu cầu/phản hồi này được gửi, chúng sử dụng TCP/IP để giảm và vận 
chuyển thông tin trong các gói nhỏ chứa các dãy nhị phân của các số 1 và 0. Các 
gói này được gửi vật lý qua các dây điện, cáp quang và mạng không dây. 
• Các yêu cầu và phản hồi mà server và client sử dụng để chia sẻ dữ liệu với nhau 
bao gồm mã ASCII. Các yêu cầu chỉ ra thông tin mà client đang tìm kiếm từ server; 
phản hồi chứa mã mà trình duyệt client sẽ dịch thành một trang web. 
5. Ưu nhược điểm của HTTP   Ưu điểm của HTTP :  - 
Đơn giản và dễ triển khai : HTTP rất dễ hiểu và được hỗ trợ rộng rãi trên hầu hết  cácnền tảng.  - 
Không yêu cầu duy trì kết nối lâu dài : Do không có trạng thái, nên không cần duy 
trìkết nối lâu dài giữa client và server. 
 Nhược điểm của HTTP :  - 
Bảo mật thấp : Dữ liệu truyền qua HTTP không được mã hóa, dễ bị tấn công dạng 
trung gian (Man-in-the-Middle).      lOMoAR cPSD| 58933639 - 
Không bảo mật tính toàn vẹn dữ liệu : Dữ liệu có thể bị thay đổi mà không có cảnh  báo.  - 
Hiệu suất : Việc mã hóa và giải mã dữ liệu có thể làm giảm hiệu suất so với HTTP, 
mặc dù ảnh hưởng này hiện nay là rất nhỏ.        lOMoAR cPSD| 58933639 II. 
 Giao thức HTTPS (Hypertext Transfer Protocol Security)   
- Phương thức HTTPS (HyperText Transfer Protocol Secure) là một phiên bản bảo 
mật của giao thức HTTP (HyperText Transfer Protocol), được sử dụng để truyền 
tải dữ liệu giữa trình duyệt và máy chủ web. HTTPS kết hợp HTTP với các giao 
thức bảo mật như SSL (Secure Sockets Layer) hoặc TLS (Transport Layer 
Security) để đảm bảo rằng dữ liệu truyền tải giữa hai bên là an toàn, không bị nghe 
trộm, thay đổi hoặc giả mạo. 
1) Lịch sử phát triển của HTTPS  - 
HTTP (1989): Ra đời cùng với World Wide Web, HTTP là giao thức chuẩn cho 
việctrao đổi tài liệu HTML và dữ liệu giữa máy khách và máy chủ.  - 
SSL (1994): Được phát triển bởi Netscape, SSL 2.0 được phát hành vào năm 1995 
nhưng có nhiều lỗ hổng bảo mật. SSL 3.0 ra đời vào năm 1996 với nhiều cải tiến.  - 
TLS (1999): TLS 1.0 được ra mắt như một phiên bản nâng cấp và bảo mật hơn 
củaSSL. Các phiên bản sau như TLS 1.1, 1.2, và 1.3 (2018) đã tăng cường bảo mật và  hiệu suất.  - 
HTTPS: Kết hợp HTTP và SSL/TLS, HTTPS trở thành tiêu chuẩn cho giao tiếp 
antoàn trên web. Hiện nay, HTTPS là yêu cầu bắt buộc đối với các trang web thu thập 
thông tin cá nhân hoặc thực hiện các giao dịch tài chính.      lOMoAR cPSD| 58933639
2) Cấu trúc của 1 https: 
Cấu trúc đầy đủ của HTTPS bao gồm nhiều thành phần, được sắp xếp theo trình tự và có 
vai trò quan trọng trong việc đảm bảo an toàn cho việc truyền dữ liệu giữa client (trình 
duyệt) và server. Dưới đây là cấu trúc cơ bản của HTTPS: 
a. URL (Uniform Resource Locator) 
- Bắt đầu bằng `https://` để chỉ ra rằng kết nối sẽ sử dụng HTTPS. 
b. Handshake Phase (Giai đoạn bắt tay) 
Đây là giai đoạn khởi tạo kết nối an toàn giữa client và server. Giai đoạn này bao gồm các  bước sau:  - Client Hello: 
- Client gửi thông điệp này đến server để bắt đầu quá trình kết nối. Thông điệp chứa 
cácthông tin như phiên bản của TLS/SSL mà client hỗ trợ, danh sách các cipher suites,  và các tham số khác.  - Server Hello: 
- Server phản hồi với thông điệp `Server Hello`, trong đó xác định phiên bản 
TLS/SSL,cipher suite sẽ được sử dụng, và gửi kèm chứng chỉ số (certificate).  - Server Certificate: 
- Server gửi chứng chỉ số (SSL/TLS certificate) để chứng minh danh tính. Chứng chỉnày 
chứa khóa công khai của server.  - Client Key Exchange: 
- Client sử dụng khóa công khai từ chứng chỉ của server để mã hóa và gửi một "premaster 
secret". Đây là giá trị bí mật dùng để tạo khóa session cho phiên mã hóa đối xứng.  - Finished: 
- Cả client và server sử dụng "pre-master secret" để tính toán khóa session. Sau đó, 
mỗibên gửi một thông điệp `Finished` để xác nhận rằng quá trình bắt tay đã thành công. 
c. Session Encryption (Mã hóa phiên) 
- Sau khi handshake thành công, dữ liệu trao đổi giữa client và server sẽ được mã hóa 
bằng khóa session đã thiết lập. Phương thức mã hóa thường là AES hoặc một phương 
thức khác, tùy vào cipher suite được chọn. 
d. Application Data (Dữ liệu ứng dụng) 
- Dữ liệu thực tế giữa client và server được truyền tải thông qua các gói tin được mã hóa. 
Ở bước này, dữ liệu từ phía client có thể là yêu cầu HTTP như GET, POST,... và server 
phản hồi với dữ liệu tương ứng.      lOMoAR cPSD| 58933639
e. Session Termination (Kết thúc phiên) 
- Khi quá trình giao tiếp hoàn thành, client và server sẽ thực hiện quá trình kết thúc phiên 
bằng cách gửi thông điệp `Close Notify`. Điều này đảm bảo rằng phiên đã kết thúc một  cách an toàn. 
Cấu trúc này giúp HTTPS cung cấp một kết nối bảo mật, ngăn chặn các hành vi nghe lén 
(eavesdropping), tấn công man-in-the-middle, và các hình thức tấn công khác. 
3) Cách mà https hoạt động: 
HTTPS (Hypertext Transfer Protocol Secure) là một phiên bản an toàn của HTTP, trong 
đó dữ liệu truyền qua mạng được mã hóa bằng SSL/TLS để bảo vệ tính bảo mật và toàn 
vẹn của thông tin. Dưới đây là mô tả chi tiết và đầy đủ về cách hoạt động của HTTPS:   
3.1. Khởi tạo kết nối HTTPS 
a. Gõ URL trên trình duyệt 
- Khi người dùng gõ một URL bắt đầu bằng `https://` vào trình duyệt, trình duyệt sẽ hiểu 
rằng cần thiết lập một kết nối bảo mật với máy chủ.  b. DNS Resolution 
- Trình duyệt trước tiên sẽ liên hệ với hệ thống DNS để chuyển đổi tên miền (domain 
name) thành địa chỉ IP của máy chủ.   
3.2. Quá trình bắt tay SSL/TLS (SSL/TLS Handshake)  a. Client Hello 
- Trình duyệt (client) gửi một thông điệp `Client Hello` đến máy chủ. Thông điệp  nàychứa: 
- Phiên bản của SSL/TLS mà client hỗ trợ. 
- Danh sách các cipher suites (bộ mã hóa) mà client có thể sử dụng. 
- Một số thông tin khác, chẳng hạn như các tham số mã hóa hoặc dữ liệu cần thiết choquá  trình mã hóa.  b. Server Hello 
- Máy chủ (server) phản hồi bằng thông điệp `Server Hello`, trong đó xác định: 
- Phiên bản của SSL/TLS sẽ được sử dụng. 
- Cipher suite sẽ được sử dụng cho phiên làm việc.      lOMoAR cPSD| 58933639
- Một số tham số khác cần thiết cho việc mã hóa. 
c. Server Certificate (Chứng chỉ máy chủ) 
- Máy chủ gửi chứng chỉ SSL/TLS của mình đến client. Chứng chỉ này chứa khóa công 
khai của máy chủ và được cấp bởi một tổ chức chứng thực số (CA - Certificate Authority)  đáng tin cậy.  d. Client Key Exchange 
- Client xác thực chứng chỉ của server để đảm bảo tính hợp pháp. Sau đó, client sẽ tạo 
một "pre-master secret" (bí mật trước khi sinh) và mã hóa nó bằng khóa công khai của 
server. Giá trị này sẽ được gửi tới server và chỉ server có thể giải mã bằng khóa riêng tư  của mình. 
e. Session Key Generation (Tạo khóa phiên) 
- Cả client và server sử dụng "pre-master secret" để tính toán ra khóa phiên (session key). 
Khóa phiên này sẽ được sử dụng cho việc mã hóa tất cả dữ liệu trong phiên làm việc.    f. Finished Messages 
- Client và server lần lượt gửi thông điệp `Finished` cho nhau, đã được mã hóa bằng khóa 
phiên, để xác nhận rằng quá trình bắt tay (handshake) đã hoàn tất và phiên làm việc đã  sẵn sàng. 
4. Truyền dữ liệu được mã hóa  - 
Sau khi kết thúc quá trình bắt tay, cả hai bên bắt đầu truyền dữ liệu qua lại. Tất cả 
dữliệu này đều được mã hóa bằng khóa phiên để đảm bảo tính bảo mật và toàn vẹn của  thông tin.  - 
Ví dụ, khi client gửi yêu cầu HTTP (chẳng hạn GET hoặc POST), dữ liệu sẽ được 
mãhóa và gửi đến server. Server sau đó giải mã, xử lý yêu cầu và gửi phản hồi được mã  hóa trở lại client. 
5. Xác thực và toàn vẹn dữ liệu 
- Mỗi gói dữ liệu được truyền qua kết nối HTTPS đều đi kèm với một mã xác thực thông 
điệp (MAC - Message Authentication Code) để đảm bảo rằng dữ liệu không bị thay đổi 
trong quá trình truyền. Nếu có sự can thiệp nào xảy ra, MAC sẽ không khớp, và kết nối  sẽ bị hủy. 
6. Kết thúc phiên HTTPS  - 
Khi một trong hai bên (client hoặc server) quyết định kết thúc kết nối, họ sẽ gửi 
mộtthông điệp `Close Notify`.      lOMoAR cPSD| 58933639 - 
Kết nối sau đó sẽ được đóng, và các khóa phiên sẽ bị hủy bỏ để đảm bảo rằng 
chúngkhông thể bị sử dụng lại trong tương lai. 
7. Các cơ chế bảo mật bổ sung  - 
HSTS (HTTP Strict Transport Security): Đây là cơ chế mà máy chủ có thể yêu 
cầutrình duyệt chỉ sử dụng HTTPS cho các kết nối tương lai, ngay cả khi người dùng 
nhập `http://`. Điều này giúp bảo vệ chống lại các cuộc tấn công downgrade, trong đó kẻ 
tấn công cố gắng buộc client sử dụng HTTP thay vì HTTPS.  - 
Certificate Pinning: Client lưu trữ các chứng chỉ được chấp nhận từ server. Nếu 
serversau đó cung cấp một chứng chỉ khác, client sẽ cảnh báo người dùng, giúp bảo vệ 
chống lại các cuộc tấn công giả mạo chứng chỉ.   Tóm lại 
HTTPS bảo vệ dữ liệu bằng cách mã hóa toàn bộ phiên làm việc giữa client và server, 
đảm bảo rằng dữ liệu không thể bị đánh cắp hoặc chỉnh sửa bởi kẻ tấn công trung gian 
(man-in-the-middle). Cơ chế SSL/TLS handshake đảm bảo rằng client và server đều xác 
thực lẫn nhau và có thể thiết lập một kết nối bảo mật trước khi truyền dữ liệu. 
8. Lợi ích của việc sử dụng https: 
HTTPS mang lại nhiều lợi ích quan trọng, đặc biệt trong bối cảnh bảo mật trực tuyến và 
trải nghiệm người dùng. Dưới đây là những lợi ích đầy đủ nhất mà HTTPS mang lại:   
8.1. Bảo mật dữ liệu  - 
Mã hóa (Encryption): Dữ liệu được truyền giữa client (trình duyệt) và server 
quaHTTPS đều được mã hóa bằng SSL/TLS, giúp ngăn chặn các bên thứ ba (như hacker) 
đọc được thông tin. Điều này đặc biệt quan trọng khi truyền các thông tin nhạy cảm như 
mật khẩu, thông tin thẻ tín dụng, và dữ liệu cá nhân.  - 
Xác thực (Authentication): HTTPS đảm bảo rằng người dùng đang giao tiếp với 
đúngserver mà họ muốn kết nối, chứ không phải với một kẻ giả mạo. Điều này được thực 
hiện thông qua chứng chỉ số được cấp bởi các tổ chức chứng thực (CA).  - 
Toàn vẹn dữ liệu (Data Integrity): Dữ liệu truyền qua HTTPS được bảo vệ khỏi 
cáccuộc tấn công giả mạo, đảm bảo rằng nó không bị thay đổi hoặc sửa đổi trong quá  trình truyền.   
8.2. Tăng niềm tin và bảo vệ người dùng  - 
Niềm tin từ người dùng: Biểu tượng ổ khóa hiển thị trên thanh địa chỉ của trình 
duyệtkhi sử dụng HTTPS giúp người dùng nhận biết rằng họ đang truy cập một trang 
web an toàn, từ đó tăng sự tin tưởng.      lOMoAR cPSD| 58933639 - 
Bảo vệ chống lại các cuộc tấn công man-in-the-middle: HTTPS ngăn chặn các 
cuộctấn công kiểu man-in-the-middle (MITM), trong đó kẻ tấn công cố gắng can thiệp 
vào luồng dữ liệu giữa client và server.   
8.3. Cải thiện xếp hạng trên công cụ tìm kiếm 
- SEO (Search Engine Optimization): Google và các công cụ tìm kiếm khác ưu tiên các 
trang web sử dụng HTTPS trong kết quả tìm kiếm. Điều này có nghĩa là trang web của 
bạn có thể được xếp hạng cao hơn nếu sử dụng HTTPS, từ đó thu hút nhiều lượt truy cập  hơn.   
8.4. Bảo vệ quyền riêng tư  - 
Ẩn URL và nội dung: HTTPS mã hóa không chỉ nội dung trang mà còn cả URL 
(vớimột số ngoại lệ nhất định như tên miền). Điều này giúp bảo vệ thông tin mà người 
dùng đang truy cập khỏi bị xem lén bởi các bên thứ ba.  - 
Giảm khả năng bị theo dõi: Sử dụng HTTPS làm giảm khả năng các bên thứ ba 
theodõi các hoạt động trực tuyến của người dùng, giúp bảo vệ quyền riêng tư.   
8.5. Bảo vệ khỏi các cuộc tấn công cụ thể  - 
Ngăn chặn các cuộc tấn công dựa trên trang web (Cross-site): HTTPS giúp bảo 
vệchống lại một số cuộc tấn công dựa trên trang web như Cross-Site Scripting (XSS) và 
Cross-Site Request Forgery (CSRF) bằng cách mã hóa dữ liệu phiên làm việc.  - 
Ngăn chặn việc giả mạo nội dung: HTTPS ngăn chặn việc chèn nội dung độc hại 
vàotrang web của bạn bởi các bên trung gian. Điều này bảo vệ người dùng khỏi việc tải 
xuống các nội dung bị giả mạo hoặc độc hại.   
8.6. Bảo đảm tuân thủ quy định  - 
Tuân thủ các tiêu chuẩn bảo mật: Nhiều ngành công nghiệp và khu vực pháp lý 
yêucầu các tổ chức sử dụng HTTPS để bảo vệ dữ liệu của khách hàng. Ví dụ, GDPR ở 
Châu Âu yêu cầu các biện pháp bảo mật thích hợp, trong đó HTTPS là một phần quan  trọng.  - 
PCI-DSS Compliance: Nếu trang web của bạn xử lý thông tin thẻ tín dụng, việc 
sửdụng HTTPS là bắt buộc để tuân thủ các tiêu chuẩn bảo mật dữ liệu của ngành thanh  toán thẻ (PCI-DSS).      lOMoAR cPSD| 58933639  
8.7. Tăng khả năng tương thích và khả năng tương tác  - 
Tương thích với HTTP/2: HTTPS là yêu cầu bắt buộc để sử dụng HTTP/2, một 
phiênbản nâng cao của HTTP giúp cải thiện tốc độ tải trang và hiệu suất web.  - 
Tích hợp dễ dàng với các dịch vụ web khác: HTTPS là tiêu chuẩn cho các API và 
dịchvụ web hiện đại, giúp đảm bảo khả năng tương thích và an toàn khi tích hợp với các  dịch vụ khác.   
8.8. Cải thiện trải nghiệm người dùng 
- Tốc độ và hiệu suất: Dù HTTPS có thể có một chút chi phí hiệu suất, nhưng với việc sử 
dụng HTTP/2, HTTPS thậm chí còn có thể cải thiện tốc độ tải trang. Ngoài ra, việc người 
dùng cảm thấy an toàn hơn khi sử dụng trang web của bạn cũng góp phần cải thiện trải  nghiệm tổng thể.   
8.9. Phòng chống lừa đảo (Phishing) 
- Xác thực danh tính trang web: HTTPS giúp giảm thiểu các trang web lừa đảo bằng cách 
yêu cầu chứng chỉ số. Các trang web không có chứng chỉ hợp lệ sẽ không hiển thị biểu 
tượng ổ khóa, từ đó cảnh báo người dùng về nguy cơ lừa đảo. 
 Tóm lại, HTTPS không chỉ bảo vệ dữ liệu mà còn mang lại nhiều lợi ích cho cả người 
dùng và quản trị viên web, từ bảo mật, tuân thủ pháp luật đến cải then trải nghiệm và  xếp hạng tìm kiếm. 
9. Nhược điểm và thách thức của HTTPS 
Mặc dù HTTPS mang lại nhiều lợi ích về bảo mật và bảo vệ quyền riêng tư, nhưng nó 
cũng có những nhược điểm và thách thức mà các tổ chức và cá nhân cần cân nhắc khi 
triển khai. Dưới đây là những nhược điểm và thách thức đầy đủ của HTTPS:   
9.1. Chi phí triển khai và bảo trì 
- Chứng chỉ SSL/TLS: Để sử dụng HTTPS, các tổ chức cần phải mua chứng chỉ 
SSL/TLS từ một tổ chức chứng thực số (CA). Mặc dù có những tùy chọn miễn phí như 
Let's Encrypt, nhưng phần lớn các doanh nghiệp vẫn phải trả phí để có các chứng chỉ  nâng cao hơn. 
- Chi phí bảo trì: Chứng chỉ SSL/TLS có thời hạn sử dụng và cần phải được gia 
hạnthường xuyên. Việc quản lý và gia hạn các chứng chỉ này có thể tốn kém và yêu cầu  sự quản lý cẩn thận.      lOMoAR cPSD| 58933639  
9.2. Tăng tải cho máy chủ  - 
Mã hóa và giải mã: Việc mã hóa và giải mã dữ liệu trong quá trình truyền dẫn tạo 
rathêm tải cho máy chủ và client. Điều này có thể làm chậm tốc độ xử lý của máy chủ, 
đặc biệt là khi xử lý số lượng lớn yêu cầu.  - 
Handshake SSL/TLS: Quá trình bắt tay SSL/TLS đòi hỏi các bước trao đổi khóa 
vàtạo mã hóa, điều này tăng thời gian kết nối ban đầu và tiêu tốn tài nguyên máy chủ.   
9.3. Vấn đề về hiệu suất  - 
Tăng thời gian tải trang: Trong một số trường hợp, việc thiết lập kết nối HTTPS 
có thểlàm tăng thời gian tải trang, đặc biệt đối với các trang web có lượng truy cập cao 
hoặc nội dung phức tạp.  - 
Không tối ưu cho các thiết bị yếu: Trên các thiết bị có cấu hình thấp hoặc kết nối 
mạngchậm, việc sử dụng HTTPS có thể làm giảm hiệu suất do tải CPU tăng lên.   
9.4. Quản lý phức tạp  - 
Cấu hình phức tạp: Việc cấu hình đúng SSL/TLS là một quá trình phức tạp và đòi 
hỏikiến thức chuyên sâu về bảo mật mạng. Các lỗi cấu hình có thể dẫn đến các lỗ hổng 
bảo mật như sử dụng các cipher suites yếu hoặc phiên bản TLS không an toàn.  - 
Quản lý chứng chỉ: Khi quản lý một hệ thống lớn với nhiều chứng chỉ SSL/TLS, 
việctheo dõi và gia hạn tất cả chứng chỉ có thể trở thành một thách thức. Việc quên gia 
hạn có thể dẫn đến việc chứng chỉ hết hạn, làm gián đoạn dịch vụ.   
9.5. Vấn đề tương thích  - 
Không tương thích với các trình duyệt cũ: Một số phiên bản cũ của trình duyệt 
khônghỗ trợ các phiên bản mới của TLS hoặc các cipher suites hiện đại, dẫn đến việc 
người dùng không thể truy cập vào trang web sử dụng HTTPS.  - 
Không tương thích với các thiết bị cũ: Các thiết bị cũ, đặc biệt là các thiết bị di 
độngđời cũ hoặc các hệ thống nhúng, có thể không hỗ trợ đầy đủ các tiêu chuẩn HTTPS  mới nhất.   
9.6. Các vấn đề về bảo mật  - 
Mối đe dọa từ CA không đáng tin cậy: Hệ thống chứng chỉ SSL/TLS phụ thuộc 
vàocác tổ chức chứng thực số (CA). Nếu một CA bị xâm nhập hoặc hoạt động không 
đúng, chứng chỉ giả có thể được phát hành, gây ra các mối đe dọa bảo mật nghiêm trọng.      lOMoAR cPSD| 58933639 - 
Phụ thuộc vào chứng chỉ: Nếu một chứng chỉ SSL/TLS bị xâm phạm hoặc hết 
hạn,toàn bộ trang web sẽ không thể truy cập được qua HTTPS, điều này có thể gây ra sự 
gián đoạn dịch vụ nghiêm trọng.   
9.7. Vấn đề về kiểm duyệt và giám sát  - 
Khó khăn trong giám sát: HTTPS mã hóa toàn bộ dữ liệu truyền tải, điều này làm 
choviệc giám sát và phân tích lưu lượng mạng trở nên khó khăn hơn. Điều này có thể là 
một thách thức đối với các tổ chức muốn thực hiện kiểm duyệt hoặc kiểm tra nội dung để 
phát hiện các hoạt động độc hại.  - 
Khó khăn trong lọc nội dung: Các tổ chức có thể gặp khó khăn trong việc thực 
hiệncác chính sách lọc nội dung trên các mạng nội bộ, vì lưu lượng HTTPS được mã hóa 
và không thể kiểm tra nội dung mà không có sự can thiệp sâu vào lưu lượng.   
9.8. Cải tiến không đồng đều 
- Không phải tất cả các trang web đều hỗ trợ HTTPS: Mặc dù HTTPS đang trở nên phổ 
biến, vẫn có nhiều trang web, đặc biệt là những trang nhỏ hoặc cá nhân, chưa chuyển sang 
sử dụng HTTPS. Điều này có thể gây ra sự không đồng nhất trong trải nghiệm người  dùng.   
9.9. Tác động tiêu cực đến quảng cáo và theo dõi  - 
Ảnh hưởng đến quảng cáo: Việc sử dụng HTTPS có thể làm giảm khả năng theo 
dõingười dùng trên các trang web, điều này có thể ảnh hưởng đến các chiến dịch quảng 
cáo trực tuyến và giảm hiệu quả của việc nhắm mục tiêu quảng cáo.  - 
Khó khăn trong phân tích dữ liệu: Một số công cụ phân tích hoặc theo dõi hoạt 
độngngười dùng trên trang web có thể bị ảnh hưởng bởi việc mã hóa HTTPS, dẫn đến 
việc thiếu dữ liệu hoặc dữ liệu không chính xác.   
9.10. HSTS và sự cố kỹ thuật 
- Khó khăn trong việc vô hiệu hóa HTTPS: Nếu một trang web sử dụng HTTP Strict 
Transport Security (HSTS), trình duyệt sẽ buộc trang web luôn sử dụng HTTPS. Điều 
này có thể gây ra sự cố nếu chứng chỉ SSL/TLS hết hạn hoặc gặp lỗi kỹ thuật, vì không 
thể dễ dàng chuyển trở lại HTTP để xử lý sự cố.   
9.11. Chi phí cao trong môi trường IoT 
- Tài nguyên hạn chế: Trong môi trường IoT (Internet of Things), các thiết bị thường có 
tài nguyên hạn chế. Việc triển khai HTTPS trong những trường hợp này có thể tiêu tốn 
nhiều tài nguyên, làm giảm hiệu suất hoạt động của thiết bị.   Tóm tắt:      lOMoAR cPSD| 58933639
Mặc dù HTTPS là một yếu tố quan trọng trong bảo mật web, việc triển khai và duy trì nó 
đi kèm với một số nhược điểm và thách thức. Những vấn đề về chi phí, hiệu suất, tương 
thích, và quản lý phức tạp có thể đòi hỏi các tổ chức cần cân nhắc kỹ lưỡng và chuẩn bị 
đầy đủ khi chuyển sang sử dụng HTTPS. 
10. Quá trình triển khai HTTPS  • 
Mua chứng chỉ SSL/TLS: Chọn một nhà cung cấp chứng chỉ và mua chứng chỉ 
phù hợp với nhu cầu của bạn (ví dụ: chứng chỉ đơn, chứng chỉ cho nhiều tên miền,  chứng chỉ wildcard).  • 
Cài đặt chứng chỉ trên máy chủ: Thực hiện các bước cài đặt chứng chỉ trên máy 
chủ web của bạn, sau đó cấu hình máy chủ để sử dụng HTTPS.  • 
Cập nhật trang web: Đảm bảo rằng tất cả các liên kết và tài nguyên trên trang web 
của bạn sử dụng HTTPS thay vì HTTP.  • 
Kiểm tra và xác minh: Sau khi triển khai, kiểm tra để đảm bảo rằng tất cả các phần 
của trang web đang hoạt động đúng và không có lỗi liên quan đến HTTPS. 
11. Các cuộc tấn công liên quan đến HTTPS 
Mặc dù HTTPS được thiết kế để bảo mật truyền tải dữ liệu giữa client và server, nhưng 
nó không hoàn toàn miễn nhiễm với các cuộc tấn công. Dưới đây là một số cuộc tấn công  liên quan đến HTTPS:   
11.1. Cuộc tấn công Man-in-the-Middle (MITM)  - 
Mô tả: Trong các cuộc tấn công MITM, kẻ tấn công chèn mình giữa client và server 
đểcan thiệp vào luồng dữ liệu. Mặc dù HTTPS sử dụng mã hóa để bảo vệ dữ liệu, nhưng 
nếu kẻ tấn công có thể làm giả chứng chỉ SSL hoặc chiếm quyền kiểm soát một chứng 
chỉ hợp lệ, họ có thể giải mã và đọc dữ liệu.  - 
Cách phòng tránh: Sử dụng các cơ chế như HSTS để buộc trình duyệt luôn sử 
dụngHTTPS và chặn các kết nối không an toàn. Đảm bảo rằng các chứng chỉ SSL/TLS 
được quản lý đúng cách và không bị giả mạo.   
11.2. Cuộc tấn công SSL Stripping  - 
Mô tả: SSL Stripping là một dạng tấn công MITM trong đó kẻ tấn công chuyển 
hướngcác yêu cầu HTTPS thành HTTP không bảo mật. Điều này khiến dữ liệu của người 
dùng không được mã hóa và dễ bị đánh cắp.  - 
Cách phòng tránh: Kích hoạt HSTS trên máy chủ để buộc trình duyệt luôn sử 
dụngHTTPS. Điều này ngăn chặn kẻ tấn công hạ cấp kết nối từ HTTPS xuống HTTP.      lOMoAR cPSD| 58933639  
11.3. Cuộc tấn công giả mạo chứng chỉ (Certificate Forgery)  - 
Mô tả: Kẻ tấn công có thể cố gắng tạo ra một chứng chỉ SSL giả mạo để đánh 
lừangười dùng tin rằng họ đang kết nối với một trang web hợp pháp. Nếu người dùng 
không nhận ra, họ có thể vô tình gửi dữ liệu nhạy cảm đến một server giả mạo.  - 
Cách phòng tránh: Sử dụng chứng chỉ từ các CA uy tín, đồng thời kiểm tra kỹ 
lưỡngchứng chỉ SSL trước khi thiết lập kết nối.   
11.4. Cuộc tấn công từ CA bị xâm nhập (Compromised Certificate Authority)  - 
Mô tả: Nếu một tổ chức chứng thực số (CA) bị xâm nhập, kẻ tấn công có thể 
pháthành các chứng chỉ hợp lệ cho các trang web giả mạo. Điều này khiến người dùng 
tin rằng họ đang truy cập vào trang web hợp pháp, trong khi thực tế là trang web đã bị  giả mạo.  - 
Cách phòng tránh: Sử dụng các kỹ thuật như Certificate Pinning để đảm bảo rằng 
chỉcác chứng chỉ cụ thể từ các CA được chấp nhận. Đồng thời, theo dõi các thông báo 
bảo mật từ các CA và nhanh chóng phản ứng khi có vụ xâm nhập.   
11.5. Cuộc tấn công bằng cách tái sử dụng phiên (Session Hijacking)  - 
Mô tả: Nếu cookie phiên hoặc mã thông báo (token) phiên bị đánh cắp, kẻ tấn công 
cóthể chiếm quyền điều khiển phiên người dùng và thực hiện các hành động trái phép  trên trang web.  - 
Cách phòng tránh: Sử dụng các tùy chọn bảo mật cookie như `Secure`, `HttpOnly`, 
và`SameSite` để giảm thiểu nguy cơ cookie bị đánh cắp. Đảm bảo rằng tất cả dữ liệu 
phiên đều được mã hóa và không bị rò rỉ.   
11.6. Cuộc tấn công Heartbleed  - 
Mô tả: Heartbleed là một lỗ hổng trong OpenSSL cho phép kẻ tấn công đọc bộ 
nhớcủa máy chủ và lấy cắp dữ liệu như khóa riêng tư, mật khẩu, và thông tin phiên.  - 
Cách phòng tránh: Luôn cập nhật các phần mềm bảo mật, bao gồm OpenSSL, để 
vácác lỗ hổng đã biết. Sau khi phát hiện lỗ hổng, thay đổi ngay lập tức các chứng chỉ SSL  và mật khẩu liên quan. 
11.7. Cuộc tấn công POODLE (Padding Oracle On Downgraded Legacy  Encryption)  - 
Mô tả: POODLE là một cuộc tấn công nhắm vào giao thức SSL 3.0, cho phép kẻ 
tấncông giải mã dữ liệu mã hóa.