Tìm hiểu về HTTPS và SSL
Đào Xuân Thùy
Nguyễn Thị Thu Thúy
HTTPS
HTTPS là viết tắt của Hypertext Transfer Protocol Secure (Giao thức truyền tải siêu văn bản có
bảo mật ).Nó khác với HTTP ở chỗ nó hỗ trợ việc bảo mật, từ đó sẽ giải quyết được vấn đề thông
tin gửi- nhận từ Internet bị rò rỉ
HTTPS
Sự khác nhau giữa HTTP và HTTPS
HTTPS
Vì lý do như trên thì các trang Web như Ngân hàng, giao dịch thương mại,… chọn giao thức HTTPS. Vì HTTPS là sự
lựa chọn cần thiết để bảo vệ an toàn cho các tài khoản nhạy cảm. Tuy nhiên, tốc độ tải trang sẽ bị chậm lại, không nhanh
như HTTP. Vì thế nên các trang Web điện tử thường chọn giao thức HTTP thay vì chọn HTTPS.
HTTPS
Khi truy cập vào Gmail – được hỗ trợ bởi HTTPS, trên thanh địa chỉ sẽ có hình ổ khóa màu xanh
thể hiện trang Web này là an toàn
Ta có thể xem các thông tin về các chứng chỉ an toàn của trang Web bằng cách click vào hình ổ
khóa
HTTPS
HTTPS
Sau một thời gian, trên thanh địa chỉ thì ổ khóa xanh biến thành màu xám với hình tam giác vàng
trang Web này an toàn nhưng có một số dữ liệu trên trang Web này không an toàn do nó chưa
được mã hóa.
HTTPS
Hình thành cơ chế bảo mật thông tin, bằng cách thỏa thuận các cơ chế mã hóa
Đàm phán Cipher Suite
Cipher suite là một tập các thuật toán mã hóa và kích thước khóa mà máy tính có thể dùng để
mã hóa dữ liệu.
Cipher suite bao gồm thông tin về các thuật toán trao đổi khóa công khai, các thuật toán thỏa
thuận khóa và các hàm băm mã hóa
Khi đàm phán CS, client sẽ nói với server các CS nó có sẵn và Server sẽ lựa chọn CS tốt nhất có
thể
Xác thực Server
Để chứng minh Server thuộc về tổ chức mà nó đại diện, server phải trình chứng chỉ khóa công
khai của nó cho client.Nếu chứng chỉ hợp lệ, client có thể chắc chắn về định danh server
Thông tin trao đổi giữa client và server cho phép chúng thỏa thuận một khóa bí mật chung
Xác thực Server
Ví dụ, với RSA:
Client lấy khóa công khai của Server từ chứng chỉ để mã hóa khóa bí mật
Client gửi thông tin khóa bí mật được mã hóa đến Server
Chỉ có Server mới giải mã được thông tin này vì chỉ nó mới có khóa riêng để giải mã khóa công
khai trên chứng chỉ
Gửi dữ liệu mã hóa
Bây giờ, cả client và server đều có thể truy cập đến khóa bí mật chung.
server có thể xác thực được client
Client change Cs : client báo server thay đổi kiểu mã hóa
Client finish : client báo sẵn sàng trao đổi dữ liệu.
Tiến trình SSL
Server change CS : server báo với client thay đổi kiểu mã hóa
Finish : server báo với client sẵn sàng trao đổi dữ liệu. Kết thúc SSL handshake
Encrypt data : client và server trao đổi dữ liệu sử dụng hàm băm mã hóa và thuật toán xác định
ở message 1,2 và khóa bí mật ở message 8.
Close message : báo kết nối chuẩn bị đóng sau khi trao đổi dữ liệu kết thúc
Kiến trúc SSL
Các giao thức SSL
SSL không phải một giao thức đơn mà gồm 2 lớp giao thức như trên hình,trong đó SSL
Record Protocol cung cấp các dịch vụ cơ bản cho nhiều lớp bên trên, mà HTTP có thể coi
là hoạt động trên đỉnh của SSL
SSL Record Protocol
SSL record protocol cung cấp 2 dịch vụ kết nối SSL :
Confidentiality (tính cẩn mật ) : Handshake protocol định nghĩa một khóa bí mật được chia sẻ dùng để
mã hóa quy ước các dữ liệu SSL
Message integrity (tính toàn vẹn thông điệp) : khóa này được dùng để hình thành MAC (mã xác thực
Seq_num : sequence number cho message này
SSLCompressType : giao thức lớp trên để xử lý phân mảnh này
SSLCompress.Length : chiều dài phân mảnh
SSLCompress.fragment
Phân mảnh đã được nén