HTTPS (tên đầy đủ: Hyper Text Transfer Protocol over SecureSocket Layer) là một kênh HTTP với mục tiêu là bảo mật. Trên cơ sở HTTP, mã hóa đường truyền và xác thực danh tính đảm bảo tính bảo mật của quá trình truyền tải [1]. HTTPS thêm SSL trên cơ sở HTTP. Cơ sở bảo mật của HTTPS là SSL, vì vậy SSL là bắt buộc đối với các chi tiết của mã hóa. HTTPS có một cổng mặc định khác với HTTP và một lớp mã hóa / xác thực (giữa HTTP và TCP). Hệ thống này cung cấp các phương thức xác thực và giao tiếp được mã hóa. Nó được sử dụng rộng rãi trong các giao tiếp nhạy cảm về bảo mật trên World Wide Web, chẳng hạn như thanh toán giao dịch.
HTTPS chủ yếu bao gồm hai phần: HTTP + SSL / TLS, nghĩa là, một lớp mô-đun để xử lý thông tin được mã hóa được thêm vào HTTP. Việc truyền tải thông tin giữa máy chủ và máy khách sẽ được mã hóa thông qua TLS, vì vậy dữ liệu được truyền đi đều là dữ liệu đã được mã hóa.
Nguyên tắc HTTP
① Trình duyệt của máy khách 39 trước tiên phải thiết lập kết nối với máy chủ thông qua mạng. Kết nối được hoàn tất thông qua TCP. Nói chung, số cổng cho kết nối TCP là 80. Sau khi kết nối được thiết lập, máy khách sẽ gửi một yêu cầu đến máy chủ. Định dạng của yêu cầu là: Số nhận dạng tài nguyên thống nhất (URL), số phiên bản giao thức, theo sau là thông tin MIME bao gồm công cụ sửa đổi yêu cầu, thông tin khách hàng và nội dung giấy phép.
② Sau khi nhận được yêu cầu, máy chủ sẽ đưa ra thông tin phản hồi tương ứng. Định dạng là một dòng trạng thái, bao gồm số phiên bản giao thức của thông tin, mã thành công hoặc lỗi và thông tin MIME bao gồm thông tin máy chủ, thông tin thực thể và nội dung có thể có.
Nguyên tắc HTTPS
① Máy khách gửi danh sách các thuật toán mà nó hỗ trợ và một số ngẫu nhiên được sử dụng để tạo khóa cho máy chủ;
② Máy chủ chọn một thuật toán mã hóa từ danh sách thuật toán và gửi nó và một chứng chỉ có chứa khóa công khai của máy chủ cho máy khách; chứng chỉ cũng chứa nhận dạng máy chủ cho mục đích xác thực và máy chủ cũng cung cấp cho người dùng Được sử dụng làm số ngẫu nhiên để tạo khóa;
③ Máy khách xác minh chứng chỉ' của máy chủ (để xác minh chứng chỉ, bạn có thể tham khảo chữ ký số) và trích xuất khóa công khai của máy chủ' sau đó, tạo một chuỗi mật khẩu ngẫu nhiên được gọi là pre_master_secret và sử dụng khóa công khai của máy chủ' cho nó Mã hóa (tham khảo mã hóa / giải mã không đối xứng) và gửi thông tin đã mã hóa đến máy chủ;
④ Máy khách và máy chủ tính toán mã hóa và khóa MAC một cách độc lập dựa trên pre_master_secret và giá trị ngẫu nhiên của máy khách và máy chủ (tham khảo thuật toán trao đổi khóa DH);
⑤ Máy khách gửi giá trị MAC của tất cả các thông điệp bắt tay đến máy chủ;
⑥ Máy chủ gửi giá trị MAC của tất cả các thông điệp bắt tay đến máy khách
thuận lợi
Sử dụng giao thức HTTPS để xác thực người dùng và máy chủ để đảm bảo rằng dữ liệu được gửi đến đúng máy khách và máy chủ;
Giao thức HTTPS là một giao thức mạng được xây dựng bởi SSL + HTTP có thể được sử dụng để truyền được mã hóa và xác thực danh tính. Nó an toàn hơn HTTP. Nó có thể ngăn dữ liệu bị đánh cắp và thay đổi trong quá trình truyền và đảm bảo tính toàn vẹn của dữ liệu.
HTTPS là giải pháp an toàn nhất theo kiến trúc hiện tại. Mặc dù nó không an toàn tuyệt đối nhưng nó làm tăng đáng kể chi phí của các cuộc tấn công trung gian.
sự thiếu sót
Trong cùng một môi trường mạng, giao thức HTTPS sẽ kéo dài thời gian tải trang lên gần 50% và tăng lượng điện năng tiêu thụ từ 10% đến 20%. Ngoài ra, giao thức HTTPS cũng sẽ ảnh hưởng đến bộ nhớ đệm, làm tăng chi phí dữ liệu và tiêu thụ điện năng.
Tính bảo mật của giao thức HTTPS có phạm vi và nó ít ảnh hưởng đến các cuộc tấn công của hacker, tấn công từ chối dịch vụ và chiếm quyền điều khiển máy chủ.
Điều quan trọng nhất là hệ thống chuỗi tín dụng của chứng chỉ SSL không an toàn. Đặc biệt là khi một số quốc gia có thể kiểm soát chứng chỉ gốc của CA, thì các cuộc tấn công man-in-the-middle cũng khả thi không kém.
Tăng chi phí. Sau khi HTTPS được triển khai, công việc của giao thức HTTPS sẽ làm tăng mức tiêu thụ tài nguyên máy tính bổ sung. Ví dụ, thuật toán mã hóa giao thức SSL và số lượng tương tác SSL sẽ chiếm một lượng tài nguyên máy tính và chi phí máy chủ nhất định. Trong trường hợp các ứng dụng truy cập người dùng quy mô lớn, máy chủ cần thực hiện các hoạt động mã hóa và giải mã thường xuyên, và hầu hết mọi byte đều cần được mã hóa và giải mã, điều này làm phát sinh chi phí máy chủ. Với sự phát triển của công nghệ điện toán đám mây, chi phí sử dụng máy chủ triển khai tại các trung tâm dữ liệu đã giảm dần sau khi tăng quy mô. So với việc cải thiện bảo mật truy cập của người dùng, chi phí đầu vào đã giảm xuống mức có thể chấp nhận được.




