HTTPS cần phải có một cách để cung cấp quyền riêng tư, tính toàn vẹn và khả năng nhận dạng trên trang web.
Và cơ chế đó được gọi là "mã hóa".
Hãy cùng nói về hai loại thuật toán mã hóa.
Bây giờ, mình phải đặt những chiếc khóa này ở đâu nhỉ?
Được rồi!
Cùng bắt đầu với khóa thuật toán khóa đối xứng
Với trường hợp này, chỉ có một khóa duy nhất để thực hiện mã hóa và giải mã một tin nhắn.
Trước khi gửi tin nhắn đến BrowserBird, Tớ đã mã hóa chúng với một chiếc khóa.
Cậu có thể tưởng tượng quá trình mã hóa giống như đặt tin nhắn vào trong một cái hộp và khóa nó lại.
Và chỉ có người có bản sao của chiếc khóa đó mới có thể mở chiếc hộp và đọc tin nhắn.
Điều này đảm bảo rằng chiếc hộp không thể được mở cho đến khi nó tới đúng người nắm giữ bản sao của chìa khóa.
Khi Browserbird có chiếc hộp, cậu ấy sẽ dùng chiếc khóa để mở nó và đọc tin nhắn.
Việc giữ chiếc khóa này bảo mật là rất quan trọng. Cậu không nên chia sẻ chúng dưới dạng những văn bản thông thường hoặc gửi kèm nó với cái hộp. Hoặc giữ trong túi của cậu.
Hãy nhớ rằng ai có bản sao của chiếc khóa thì sẽ mở được cái hộp.
Sử dụng cái hộp có thể là một minh họa dễ hiểu, nhưng cách này đang hơi phóng đại quá.
Hãy cùng sửa lại nào!
Thực tế, khi mọi người nhìn vào các dòng tin nhắn mà không có chìa khóa, chúng chỉ là những đoạn mã vô nghĩa.
Đoạn văn bản đó được tạo ra thông qua thuật toán mã hóa.
Đó là một cách hay hơn để nói rằng đoạn văn bản đã được xào nấu quá rất nhiều bước.
Nó đã được biến đổi và tách ra nhiều này. Mỗi lần lại xáo trộn đoạn tin nhắn nhiều hơn
Để giải mã tin nhắn, chúng ta chỉ cần đảo ngược quy trình đó
Khóa mã hóa sẽ được trộn trong các đoạn tin nhắn, vậy nên dù cậu có biết thuật toán mã hóa thì điều đó cũng vô nghĩa
Một chiếc khóa sẽ trông như thế này.
Nhưng có một vấn đề lớn là khóa đối xứng rất khó để chia sẻ.
Cậu phải cẩn thận trong việc phân bố các khóa của mình.
Và đó là lí do cho sự ra đời của khóa bất đối xứng.
Với khóa bất đối xứng, cậu sẽ có 2 chiếc chìa khóa.
Một cái sẽ được công khai ( public key ), trong khi cái còn lại thì được bảo mật ( private key ). Nhưng chúng được ghép cặp và làm việc với nhau.
Cậu có thể chia sẻ khóa công khai cho mọi người dưới mọi hình thức mà cậu muốn. Chúng là công khai mà!
Tớ thích hình săm.
Compugter đang gửi một khóa public đến BrowserBird.
Còn bây giờ tớ sẽ gửi cho họ một tin nhắn đã được mã hóa với khóa public của họ.
Nói cách khác, BrowserBird đã đặt tin nhắn vào một cái hộp có thể mở bởi khóa public của Compugter.
Và giờ tớ có thể dùng khóa private của tớ để đọc.
Đó là những ý chính. Chỉ có những khóa private mới có thể mở được những chiếc hộp dùng khóa public tương ứng .
Tớ sử dụng khóa public của Browserbird để gửi họ một tin nhắn khác.
Điều này không chỉ tốt cho bảo mật, mà còn cho khả năng nhận dạng và chúng ta chắc chắn rằng chỉ có chủ nhân của 2 chiếc khóa mới có thể mở được hộp.
Tiếp theo, chúng ta sẽ cùng tìm hiểu xem 2 loại khóa này đóng vai trò như thế nào khi chúng ta kết nối tới một trang web sử dụng giao thức SSL.
Tiếp tục với HowHTTPS.works...
Mã hóa thật tuyệt đúng không! Còn tiếp theo là gì nhỉ? Hãy cùng tìm hiểu cách mà trình duyệt của bạn và internet thực hiện những cái "bắt tay bí mật" để đảm bảo thông tin của bạn được an toàn và bảo mật.