30/07/2018, 17:47

HTTPS là gì, cơ chế, ý nghĩa và sự khác nhau giữa HTTPS và HTTP

HTTPS là gì, tìm hiểu cơ chế hoạt động và ý nghĩa của giao thức HTTPS:// cũng như sự khác nhau cơ bản giữa HTTPS và chuẩn cũ HTTP. Cả hai đều là những giao thức kết nối phổ biến trên Internet, nhưng HTTPS tích hợp cơ chế mã hóa thông tin nên giúp bảo vệ người dùng trong các giao dịch trực tuyến, ...

HTTPS là gì, tìm hiểu cơ chế hoạt động và ý nghĩa của giao thức HTTPS:// cũng như sự khác nhau cơ bản giữa HTTPS và chuẩn cũ HTTP. Cả hai đều là những giao thức kết nối phổ biến trên Internet, nhưng HTTPS tích hợp cơ chế mã hóa thông tin nên giúp bảo vệ người dùng trong các giao dịch trực tuyến, đặc biệt với những website của ngân hàng, thương mại điện tử và thanh toán online. Google cũng xếp https:// làm tiêu chí xếp hạng từ khóa, hay như các trình duyệt web cũng bắt đầu cảnh báo với những trang chưa chuyển sang giao thức https.

HTTPS là gì

HTTPS là gì



HTTPS viết tắt của cụm từ Hyper Text Transfer Protocol Secure, dịch sang tiếng Việt thành “Giao thức Truyền tải Siêu văn bản Bảo mật, là phiên bản an toàn hơn của HTTP, là giao thức đảm bảo tất cả dữ liệu giao tiếp giữa trình duyệt và trang web đều được mã hóa. HTTPS thường được sử dụng để bảo vệ các giao dịch trực tuyến có tính bảo mật cao như giao dịch ngân hàng và đặt hàng mua sắm trực tuyến.

Các trình duyệt web sẽ hiện thị kết nối HTTPS dưới dạng biểu tượng ổ khóa trên thanh địa chỉ, đi kèm theo đó là giao thức https:// rất dễ nhận biết.

Như vậy, HTTPS là một giao thức kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet. Giao thức HTTPS thường được dùng trong các giao dịch nhạy cảm cần tính bảo mật cao.

HTTPS = HTTP + SSL hoặc = HTTP + TLS

Giao thức HTTPS sử dụng port 443, giúp đảm bảo các tính chất sau của thông tin:

  • Confidentiality:sử dụng phương thức mã hóa (encryption) để đảm bảo rằng các thông điệp được trao đổi giữa client và server không bị kẻ thứ ba đọc được.
  • Integrity:sử dụng phương thức hashing để cả người dùng (client) và máy chủ (server) đều có thể tin tưởng rằng thông điệp mà chúng nhận được có không bị mất mát hay chỉnh sửa.
  • Authenticity:sử dụng chứng chỉ số (digital certificate) để giúp client có thể tin tưởng rằng server/website mà họ đang truy cập thực sự là server/website mà họ mong muốn vào, chứ không phải bị giả mạo.

Việc nhờ đến bên thứ 3 (thường là CA) để xác thực danh tính của website cộng thêm sự chú ý của người dùng rằng website đó có sử dụng HTTPS và SSL certificate của nó còn hiệu lực sẽ giúp loại bỏ hoàn toàn nguy cơ bị lừa đảo.

Sự khác nhau giữa HTTP và HTTPS://

Nếu kết nối tới một trang web thông qua giao thức cũ HTTP, trình duyệt đơn thuần chỉ tìm địa chỉ IP tương ứng của trang web đó, rồi kết nối với địa chỉ IP này. Dữ liệu gửi qua HTTP không hề được mã hóa, thay vào đó nó chỉ sử dụng ký tự văn bản thông thường mà tin tặc có thể dễ dàng nghe lén.

HTTPS là cơ chế mới giúp giải quyết vấn đề của HTTP. Dù chưa đảm bảo tính bảo mật 100%, cũng như vẫn có lỗ hổng, nhưng HTTPS an toàn hơn nhờ mã hóa dữ liệu trao đổi giữa máy chủ web và trình duyệt. HTTPS còn hỗ trợ tăng cường tính riêng tư, đặc biệt ở những mạng Wi-Fi công cộng.

HTTPS hoạt động như thế nào?

Các trang web HTTPS thường sử dụng một trong hai giao thức bảo mật sau đây để mã hóa thông tìn, gồm SSL (Secure Sockets Layer, tầng ổ bảo mật) hoặc TLS (Transport Layer Security, bảo mật tầng truyền tải). Cả TLS và SSL đều sử dụng hệ thống PKI (Public Key Infrastructure, hạ tầng khóa công khai) không đối xứng, tức nó sử dụng hai “khóa” để mã hóa thông tin, gồm khóa công khai và khóa riêng. Bất kỳ dữ liệu nào được má hóa dưới dạng Khóa Công khai (public key) thì chỉ có thể được giải mã bởi Khóa riêng (private key) và ngược lại. Khóa riêng được bảo vệ nghiêm ngặt, và chỉ được chủ nhân của Khóa riêng truy cập mà thôi. Như trường hợp một trang web HTTPS, thì Khóa riêng được giữ kín trên máy chủ web. Khóa công khai lại được phân phối cho bất kỳ ai, để họ có thể giải mã thông tin đã được mã hóa bằng khóa riêng.

Khi bạn mở một trang web có kết nối HTTPS, trang web đó sẽ gửi chứng chỉ SSL tới trình duyệt của bạn và chứng chỉ này có chứa Khóa công khai để bắt đầu phiên bảo mật. Lúc này ta sẽ thấy biểu tượng ổ khóa trong thanh địa chỉ trình duyệt.

Quá trình giao tiếp giữa client và server thông qua HTTPS/HTTPS:

  1. Client gửi yêu cầu (request) cho một trang bảo mật (secure page) (có URL bắt đầu với https://)
  2. Server gửi lại cho client certificate của nó.
  3. Client (trình duyệt web) tiến hành xác thực certificate này bằng cách kiểm tra (verify) tính hợp lệ của chữ ký số của CA được kèm theo certificate.

Giả sử certificate đã được xác thực và còn hạn sử dụng hoặc client vẫn cố tình truy cập mặc dù Web browser đã cảnh báo rằng không thể tin cậy được certificate này (do là dạng self-signed SSL certificate hoặc certificate hết hiệu lực, thông tin trong certificate không đúng) thì mới xảy ra bước 4 sau.

  1. Client tự tạo ra ngẫu nhiên một symmetric encryption key (hay session key), rồi sử dụng public key (lấy trong certificate) để mã hóa session key này và gửi về cho server.
  2. Server sử dụng private key (tương ứng với public key trong certificate ở trên) để giải mã ra session key ở trên.
  3. Sau đó, cả server và client đều sử dụng session key đó để mã hóa/giải mã các thông điệp trong suốt phiên truyền thông.

Và tất nhiên, các session key sẽ được tạo ra ngẫu nhiên và khác nhau trong mỗi phiên làm việc với server. Ngoài encryption thì cơ chế hashing sẽ được sử dụng để đảm bảo tính Integrity cho các thông điệp được trao đổi.

Ngày nay, giao thức HTTPS đã trở thành chuẩn mực chung cho các website trên internet. Google cũng xếp HTTPS vào tiêu chí đánh giá chất lượng site, còn các trình duyệt web như Chrome, FireFox, IE hay Microsoft Edge bắt đầu bật cảnh báo “Không an toàn” nếu web chưa có HTTPS:// nên người dùng có thể sợ mà không truy cập vào trang. Hy vọng qua bài viết này, độc giả đã hiểu khái niệm HTTPS là gì và sự cần thiết của giao thức này, đặc biệt trong các giao dịch ngân hàng và mua sắm trực tuyến, thương mại điện tử.

0