Professional Documents
Culture Documents
Hypertext Transfer Protocol Security
Hypertext Transfer Protocol Security
1. Tổng quan:
_ Hypertext Transfer Protocol Security (HTTPS) là một phần mở rộng của Hypertext
Transfer Protocol (HTTP). Nó được sử dụng để giao tiếp an toàn qua mạng máy tính và
được sử dụng rộng rãi trên Internet.
_ Trong HTTPS, giao thức truyền thông được mã hóa bằng Transport Layer Security
(TLS) hay trước đây là Secure Sockets Layer (SSL). Do đó, giao thức này còn được gọi
là HTTP qua TLS, hoặc HTTP qua SSL.
_ Các động cơ chính để dùng HTTPS là xác thực trang web được truy cập và bảo vệ
quyền riêng tư và tính toàn vẹn của dữ liệu được trao đổi trong khi truyền. Nó bảo vệ
chống lại các cuộc tấn công của kẻ trung gian và mã hóa hai chiều của giao tiếp giữa máy
khách và máy chủ bảo vệ thông tin liên lạc khỏi bị nghe trộm và giả mạo.
2. Đôi nét lịch sử
_ Netscape Communications đã tạo ra HTTPS vào năm 1994 cho trình duyệt web
Netscape Navigator. Ban đầu, HTTPS được sử dụng với giao thức SSL. Khi SSL phát
triển thành Bảo mật tầng truyền tải (TLS), HTTPS được RFC 2818 chính thức xác định
vào tháng 5 năm 2000. Google đã thông báo vào tháng 2 năm 2018 rằng trình duyệt
Chrome của họ sẽ đánh dấu các trang web HTTP là "Không an toàn" sau tháng 7 năm
2018.[38] Động thái này nhằm khuyến khích chủ sở hữu trang web triển khai HTTPS,
như một nỗ lực để làm cho World Wide Web an toàn hơn.
Điều hiển nhiên là các session key này sẽ được tạo ra một cách ngẫu nhiên và có sự thay
đổi để khác nhau trong mỗi phiên làm việc với server. Ngoài encryption thì cơ chế
hashing cũng sẽ được dùng để chắn chắn bảo toàn về tính chất Integrity cho các thông
điệp khi được trao đổi.
Ví dụ:
Giả sử một khách hàng truy cập trang web thương mại điện tử của nhà bán lẻ để mua một
mặt hàng. Khi khách hàng sẵn sàng đặt hàng, họ sẽ được chuyển đến trang đặt hàng của
sản phẩm. URL của trang này bắt đầu bằng https://, không phải http://.
Để đặt hàng, khách hàng được nhắc nhập một số chi tiết cá nhân (ví dụ: tên và địa chỉ
giao hàng), cũng như dữ liệu tài chính (ví dụ: số thẻ tín dụng của họ). HTTPS mã hóa dữ
liệu này để đảm bảo rằng dữ liệu không thể bị xâm phạm hoặc đánh cắp bởi một bên trái
phép, chẳng hạn như tin tặc hoặc tội phạm mạng.
Đơn đặt hàng sau đó đến máy chủ nơi nó được xử lý. Khi đơn đặt hàng được đặt thành
công, người dùng sẽ nhận được xác nhận từ máy chủ, xác nhận này cũng sẽ di chuyển ở
dạng mã hóa và hiển thị trong trình duyệt web của họ. Xác nhận này được giải mã bởi lớp
con HTTPS của trình duyệt.
4. Sử dụng HTTPS như thế nào:
Đầu tiên muốn sử dụng HTTPS thì trong khi cấu hình Web server, bạn có thể dễ dàng để
tạo được một SSL certificate dành cho website của mình và nó gọi là self-signed SSL
certificate.
SSL certificate tự cấp vẫn đảm bảo tính Confidentiality và Integrity trong quá trình
truyền giữa server và client. Tuy nhiên, có thể thấy rõ ràng rằng nó sẽ không thoả được
yếu tố Authenticity do không có bên thứ 3 đáng tin cậy nào để đứng ra kiểm chứng tính
xác thực của certificate tự gán này.
Do đó, đối với một số website có tính chất quan trọng như E-Commerce, Online
Payment, Web Mail,… thì họ sẽ quyết định mua hẳn một SSL certificate từ một Trusted
Root CA nào đó như VeriSign, Comodo, GoDaddy,…Khi đó, các CA có nhiệm vụ chính
là quản lý và cấp phát các certificate.
Thực ra thì SSL certificate cũng được xem như là một loại digital certificate (một loại file
trên máy tính). Vì HTTPS có liên quan đến giao thức SSL nên người ta mới gán tên cho
nó là SSL certificate, mục đích để dễ phân biệt với các loại digital certificate khác.
Trong quá trình kết nối HTTPS khi sử dụng chứng chỉ SSL chất lượng, người dùng sẽ
thấy biểu tượng hình ổ khóa nằm trên thanh địa chỉ của công cụ trình duyệt. Khi một
chứng chỉ Extended Validation Certificate được thiết lập trên trang web, thanh địa chỉ sẽ
tự động chuyển sang màu xanh lá cây.
5. Ý nghĩa:
HTTPS cung cấp nhiều lợi thế so với kết nối HTTP:
_ Bảo vệ dữ liệu và người dùng. HTTPS ngăn chặn nghe trộm giữa trình duyệt web và
máy chủ web và thiết lập liên lạc an toàn. Do đó, nó bảo vệ quyền riêng tư của người
dùng và bảo vệ thông tin nhạy cảm khỏi tin tặc. Điều này rất quan trọng đối với các giao
dịch liên quan đến dữ liệu cá nhân hoặc tài chính.
_ Cải thiện trải nghiệm người dùng. Khi khách hàng biết rằng một trang web là xác thực
và bảo vệ dữ liệu của họ, điều đó sẽ tạo nên sự tự tin và tin tưởng. Ngoài ra, HTTPS tăng
tốc độ truyền dữ liệu bằng cách giảm kích thước của dữ liệu.
_ Tối ưu hóa công cụ tìm kiếm (SEO). Các trang web HTTPS thường xếp hạng cao hơn
trong các trang kết quả của công cụ tìm kiếm, đây là một lợi thế đáng kể cho các tổ chức
đang tìm cách tăng cường sự hiện diện kỹ thuật số của họ thông qua SEO.
_ HTTPS đặc biệt quan trọng đối với các mạng không an toàn và mạng có thể bị giả mạo.
Các mạng không an toàn, chẳng hạn như các điểm truy cập Wi-Fi công cộng, cho phép
bất kỳ ai trong cùng một mạng cục bộ có thể dò tìm gói và phát hiện ra thông tin nhạy
cảm không được bảo vệ bởi HTTPS. Ngoài ra, một số mạng WLAN miễn phí sử dụng và
trả phí đã được quan sát thấy giả mạo các trang web bằng cách tham gia vào việc đưa vào
gói để phân phát quảng cáo của chính họ trên các trang web khác. Phương thức này có
thể bị lợi dụng một cách ác ý theo nhiều cách, chẳng hạn như bằng cách đưa phần mềm
độc hại vào các trang web và đánh cắp thông tin cá nhân của người dùng.[2]
_ HTTPS cũng rất quan trọng đối với các kết nối qua mạng ẩn danh Tor, vì các nút Tor
độc hại có thể làm hỏng hoặc thay đổi nội dung đi qua chúng theo cách không an toàn và
đưa phần mềm độc hại vào kết nối.
HTTP HTTPS
Được viết trên thanh địa chỉ là http://. được viết trên thanh địa chỉ là https://.
HTTP truyền dữ liệu qua cổng số 80 HTTPS truyền dữ liệu qua cổng số 443.
Không an toàn vì văn bản thuần túy được An toàn hơn vì HTTPS gửi dữ liệu được
gửi, tin tặc có thể truy cập được mã hóa mà tin tặc không thể hiểu được.
Nó chủ yếu được sử dụng cho những trang Đây là một giao thức an toàn, vì vậy nó
web cung cấp thông tin như viết blog được sử dụng cho những trang web yêu
cầu truyền chi tiết tài khoản ngân hàng
hoặc số thẻ tín dụng
Là một giao thức lớp ứng dụng Là một giao thức lớp vận chuyển
7. Nhận xét
Do lợi thế về vấn đề bảo mật, việc sử dụng HTTPS đã được thay thế cho HTTP. Điều này
giúp cho dữ liệu người dùng trở nên an toàn hơn, giúp người dùng an tâm hơn khi sử
dụng Internet.
Khi một người dùng yêu cầu một trang Web (ví dụ: nhấp vào siêu liên kết (Hyperlink),
trình duyệt sẽ gửi HTTP thông báo yêu cầu cho các đối tượng trong trang đến máy chủ.
Máy chủ nhận được yêu cầu và phản hồi bằng các thông báo phản hồi HTTP có chứa các
đối tượng. HTTP sử dụng TCP làm giao thức vận chuyển cơ bản của nó (chứ không phải
chạy trên UDP). Máy khách HTTP trước tiên khởi tạo kết nối TCP với máy chủ. Khi kết
nối được thiết lập, trình duyệt và máy chủ sẽ xử lý truy cập TCP thông qua giao diện ổ
cắm. Như đã mô tả, ở phía máy khách, giao diện ổ cắm là cánh cửa giữa tiến trình máy
khách và kết nối TCP; về phía máy chủ, đó là cửa giữa quá trình máy chủ và kết nối TCP.
Máy khách gửi HTTP thông báo yêu cầu vào giao diện ổ cắm của nó và nhận thông báo
phản hồi HTTP từ giao diện ổ cắm của nó. Tương tự, máy chủ HTTP nhận thông báo yêu
cầu từ giao diện ổ cắm và gửi thông báo phản hồi vào giao diện ổ cắm của nó. Một khi
khách hàng gửi một tin nhắn vào giao diện ổ cắm của nó, tin nhắn nằm ngoài tầm tay của
khách hàng và “trong tay” của TCP. TCP cung cấp dịch vụ truyền dữ liệu đáng tin cậy
sang HTTP. Điều này ngụ ý rằng mỗi thông báo yêu cầu HTTP được gửi bởi máy khách
cuối cùng đến nguyên vẹn tại máy chủ; tương tự, mỗi thông báo phản hồi HTTP được gửi
bởi quá trình máy chủ cuối cùng đến máy khách nguyên vẹn. Ở đây chúng ta thấy một
trong những những ưu điểm tuyệt vời của kiến trúc phân lớp—HTTP không cần phải lo
lắng về việc mất dữ liệu hoặc chi tiết về cách TCP phục hồi khi mất hoặc sắp xếp lại dữ
liệu trong mạng. Đó là công việc của TCP và các giao thức ở các lớp thấp hơn của chồng
giao thức. Điều quan trọng cần lưu ý là máy chủ gửi các tệp được yêu cầu tới máy khách
mà không lưu trữ bất kỳ thông tin trạng thái nào về máy khách. Nếu một khách hàng cụ
thể yêu cầu cùng một đối tượng hai lần trong khoảng thời gian vài giây, máy chủ không
phản hồi bằng cách nói rằng nó chỉ phục vụ đối tượng cho khách hàng; thay vào đó, máy
chủ gửi lại đối tượng, vì nó đã hoàn toàn quên những gì nó đã làm trước đó. Bởi vì một
máy chủ HTTP không duy trì thông tin về các máy khách, HTTP được cho là một giao
thức không trạng thái. Chúng ta cũng nhận xét rằng các Web sử dụng kiến trúc ứng dụng
máy khách-máy chủ. Một trang web máy chủ luôn bật, với một địa chỉ IP cố định và nó
phục vụ các yêu cầu từ hàng triệu trình duyệt khác nhau.