HTTPS là gì?

HTTPS là viết tắt của Hypertext Transfer Protocol Secure, 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 nó cho phép truyền tải thông tin giữa 2 thiết bị (client/server) một cách bảo mật và an toàn trên môi trường Internet.

Https là gì?

Https là gì?

Trước kia giao thức HTTPS chỉ thường được dùng trong các giao dịch nhạy cảm cần tính bảo mật cao. Ngày nay thì do nhu cầu trao đổi và truyền tải thông tin nhiều, nên việc xác định cái gì là nhạy cảm và mức độ yêu cầu bảo mật nào là cao thì cũng khó phân định (có nhiều cái bé tí ti như ngày sinh của bạn hay mẫu tin bạn vừa đọc đôi khi cũng chứa đựng những thứ nhạy cảm, hay đơn giản là người dùng không muốn ai khác biết được mình đang xem gì) do đó nó được khuyến cáo sử dụng rộng rãi

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

  • 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ị bên 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.

Lịch sử phát triển HTTPS

Vào năm 1994, HTTPS được tạo ra bởi Netscape Communications và áp dụng cho trình duyệt web Netscape Navigator. Ban đầu, HTTPS đã được sử dụng với SSL mã hóa. Phiên bản hiện hành của HTTPS được chính thức chỉ định bởi RFC 2818 tháng 5 năm 2000.

Giao tiếp giữa client với server thông qua HTTPS như thế nào?

  1. Client (trình duyệt web) gửi (request) cho một trang web bảo mật (secure page) (có URL bắt đầu với https://)
  2. Server sẽ 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.
  4. 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.
  5. 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.
  6. 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.
  7. Sau đó, cả server và client đều sử dụng session key đó để mã hóa/giải mã các thông điệp trong quá trình truyền tải dữ liệu.

Cài đặt HTTPS như thế nào?

Để cài đặt https cho website bạn cần có

Với SSL certificate tự tạo và được gọi là  self-signed SSL certificate, nó vẫn đảm bảo được 2 tiêu chí Confidentiality và Integrity cho quá trình giao tiếp truyền tải thông tin giữa client và server, nhưng nó không đảm bảo được tiêu chí Authenticity vì không có bên thứ 3 nào độc lập xác định tính đúng đắn và đảm bảo về việc bảo mật cũng như an toàn thông tin ở trường hợp này

Vì thế với các trang tương tác có thông tin cá nhân, các thông tin liên quan đến thanh toán, giao dịch cần tính bảo mật cao thì thường mua SSL certificate của Trusted Root CA nào đó như VeriSign, Comodo, GoDaddy,… Ở đây, các CA có  nhiệm vụ chính là cấp phát và quản lý các certificate.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *