SSL certificate (chứng nhận) là cái quái gì vậy?
TLDR;
- Chúng ta ghé thăm một trang web, chúng ta cần biết trang web đó là đang tin hay không -> trang web đó cần một chứng nhận -> SSL Certificate ra đời
 - Nếu trang web đó là đáng tin, thì những thông tin chúng ta nhập vào website đó (như thông tin đăng nhập, thông thẻ thanh toán) phải làm thế nào để tránh bị đọc trộm -> thông tin phải được mã hóa -> SSL ra đời
 - Vậy SSL hoạt động như thế nào
 
Để hiểu được chứng nhận SSL là gì, chúng ta cần hiểu câu chuyện đằng sau nó.
SSL là gì và tại sao lại cần nó?
Hãy tưởng tượng khi không có SSL, chúng ta duyệt web như thế nào?
Ví dụ khi chúng ta vào trang tiki để mua sách, chọn cả trăm quyển sách, quyết định mua 1 quyển, giờ đến phần phải thanh toán và điền thông tin thẻ tín dụng lên website tiki. Thông tin thẻ gồm số thẻ, ngày hết hạn, cvv (quá là nhạy cảm luôn :D) được truyền lên từ trình duyệt lên máy chủ của tiki. Và giả sử đen cho bạn, trong quá trình truyền dữ liệu này, một thằng ất ơ nào đó tóm (hack) được thông tin đó và thông tin đó không được mã hóa, lồ lộ trước mắt. Bem, bạn đã mất thông tin thẻ tín dụng, bạn mất tiền nhanh thôi, không sớm thì muộn.
Rồi, đến đây để cho an toàn thì những thông tin nhạy cảm như trên (thông tin thẻ, thông tin đăng nhập etc) cần được mã hóa để ít nhất nếu nó có bị hack thì cũng chả ai đọc được cả.
Và SSL (Secure Socket Layer) ra đời.
Thực ra còn một rủi rõ khi bạn ghé thăm một trang web, đó là bạn có thể tin trang web đó hay không? Đó có thể là một trang thương mại điện tử giả mạo để lừa bạn nhập thông tin thẻ thanh toán hoặc lấy thông tin cá nhân của bạn.
Điều này giống như bạn nói chuyện với ai đó. Nếu bạn tin người đó, biết người đó là ai thì bạn sẽ nói chuyện thoải mái hơn.
Vậy làm thế nào để chúng ta có tin một ai đó hoặc biết một trang web nào đó là thật và tin tưởng được.
Trong thực tế cuộc sống, chúng ta chỉ có thể biết một người là ông A thật hay không khi ông A này được một người thứ 3 mà chúng ta biết và tin giới thiệu hoặc ông A đó rất nổi tiếng được rất nhiều người biết đến.
Tương tự, để biết được một trang web là đáng tin, nó phải được một bên thứ 3 uy tín chứng nhận là đó trang web thật, không giả mạo, không lừa người dùng. Và để chứng nhận thì bên thứ 3 này sẽ cấp giấy phép chứng nhận cho trang web đó và bạn chỉ cần nhìn thấy cái giấy phép đó là yên tâm sử dụng trang web đó rồi.
Và SSL Certificate ra đời.
Vậy chúng hoạt động như thế nào?
- Người dùng truy cập vào trang web tiki
 - Trình duyệt hỏi chứng nhận của Website tiki
 - Tiki gửi chứng nhận cho trình duyệt + public key
 - Trình duyệt kiểm tra chứng nhận (dựa trên một danh sách các bên cung cấp chứng nhận này)
 - Nếu chứng nhận đúng và còn hạn, trình duyệt tạo ra một session key được mã hóa sử dụng Tiki's public key (Sử dụng mã hóa bất đối xứng)
 - Tiki nhận được key mã hóa này và giải mã sử dụng Private key của họ -> Nếu giải mã thành công -> chúng ta tin nhau
 - Từ giờ mọi thông tin được truyền đi đều được mã hóa sử dụng cái session key kia (Sử dụng mã hóa đối xứng)
 




