SSL là gì?
SSL viết tắt của từ Secure sockets layer, nói cho đơn giản thì nó là một chuẩn bảo mật khi giao tiếp giữa client và server. TLS cũng y hệt như SSL, chỉ có điều nó là bản nâng cấp cao hơn.Vậy SSL/TLS liên quan gì đến sự bảo mật của HTTPs? Đơn giản là HTTPs sử dụng SSL/TLS để bảo mật dữ liệu khi client và server giao tiếp với nhau. Và để hiểu cơ chế bảo mật này hoạt động ra sao, chúng ta sẽ đi tới 1 khái niệm nữa có tên gọi là: SSL Handshake.
SSL handshake
Bước 1: bạn đăng nhập vào máy chủ
Bước 2: khi bạn đăng nhập vào 1 máy chủ, máy chủ sẽ trả về cho bạn 1 cái Certificate. Tất nhiên certificate này được chứng nhận bởi Certificate Authority rồi. Và để hiểu hơn về khái niệm Digital Certificate này, bạn nên quay về đọc bài này.
Bước 3: Browser của bạn sẽ tự động kiểm tra xem, cái certificate của server trả về có đúng hay không. Việc xác thực này là nhờ vào cái CA Certificate mình đã nói ở bài trước.
Bước 4: Sau khi xác thực được certificate của server trả về là chính xác, thì bạn sẽ lấy cái public key đính kèm trong certificate đó ra để sử dụng. Public key này là 1 cái chìa mã hóa (encrypt key). Bạn dùng cái encrypt key này để mã hóa public key của máy bạn.
Bước 5: bạn gửi cái public key đã được mã hóa của bạn qua cho server
Bước 6: Server sẽ dùng private key của server để mã hóa dữ liệu, từ đó lấy được public key của bạn. Public key của bạn cũng là một cái encrypt key.
Bước 7: Server dùng public key của bạn để mã hóa dữ liệu trả về.
Bước 8: Server send dữ liệu đã được mã hóa về cho bạn
Bước 9: bạn dùng private key của bạn để mã hóa dữ liệu trả về.
Sau quá trình ssl handshake hoàn tất, bạn đã có được public key của server, và server cũng có được public key của bạn. Bây giờ tất cả thông tin trao đổi giữa bạn và server đều được mã hóa và bảo mật.
Ví dụ bạn muốn gửi cho server thông điệp: "cuonglv1109". Thì bạn sẽ dùng public key của server để mã hóa rồi gửi.
Cũng chỉ có bạn là người có thể đọc được thông điệp này.
0 nhận xét:
Đăng nhận xét