2 x kịch bản hoạt động hơi khác một chút:
KỊCH BẢN 1:
Trình duyệt Web (Máy khách) truy cập Trang Web (Máy chủ) qua HTTPS bằng SSL.
Máy chủ có Tệp .PFX chứa cả hai khóa. Máy khách kết nối với Trang web trên Máy chủ và Máy chủ gửi bản sao Khóa công khai (tệp .CER) của nó cho Máy khách như một phần của quá trình bắt tay SSL. Sau đó, Máy khách tạo một "SESSION-Key" và mã hóa nó bằng cách sử dụng khóa công khai nhận được từ máy chủ. Khóa phiên sau đó được gửi trở lại máy chủ và được giải mã để xác nhận tính xác thực của nó. Nếu thành công, cả Máy khách và Máy chủ hiện chia sẻ "Khóa phiên" để giao tiếp bằng cách sử dụng mã hóa đối xứng (tức là cả máy khách và máy chủ, giờ đây cả hai đều mã hóa VÀ giải mã tất cả các thông báo giữa nhau bằng cùng một khóa phiên. Tất cả điều này đang được được thực hiện ở hậu trường trong nền của trình duyệt web, giữa thời điểm bạn nhập URL vào thanh địa chỉ và nhìn thấy trang web xuất hiện.
SCENARIO 2:
Ứng dụng (Máy khách) kết nối với Trang web FTP (Máy chủ)
hoặc
Máy tính từ xa (Máy khách đến Máy chủ) bằng SSH
(cả hai ví dụ sẽ áp dụng)
Trong tình huống này, cả các Client và Server sẽ có tư nhân và công cộng của cặp khóa của họ
(trái ngược với các ví dụ khác được đề cập trong chủ đề này, mà chỉ giải thích khi một máy chủ có cả các phím, và khách hàng có khóa công khai chỉ)
Bây giờ, với mục đích giải thích - Hãy gắn nhãn các cặp Khóa giống như:
A1 và A2 = làm Khóa Riêng tư và Khóa Công khai của Máy chủ Tương ứng
B1 và B2 = là Khóa Riêng tư và Khóa Công khai của Khách hàng
Sử dụng mô hình này, các bài viết trước trong chủ đề này đã nói về thời điểm Máy chủ có A1 và A2 ( tệp .PFX ) và chỉ chia sẻ bản sao của A2 ( .CER ) với máy khách
Trong khi các kết nối FTP hoặc SSH (có các ví dụ khác ở đó) bao gồm các Khóa A1 , A2 , B1 và B2 trong toàn bộ Giao tiếp Máy khách-Máy chủ. Ví dụ,
- Máy khách kết nối với Máy chủ FTP.
- Máy chủ Gửi bản sao của Khóa công khai (A2) cho Máy khách.
- Máy khách gửi khóa công khai của chính mình (B2) trở lại Máy chủ, hoàn tất quá trình bắt tay.
- Điều này bây giờ sẽ được sử dụng Mã hóa không đối xứng
Máy chủ hiện có A1 , ( Riêng tư của chính nó ), A2 ( công khai của riêng nó ) và bản sao của B2 ( Công khai của
Máy khách ) Máy khách hiện có B1 , ( Riêng tư của chính nó ), B2 ( công khai của riêng nó ) và Bản sao của A1 ( của Máy chủ Công khai )
Giao tiếp giữa máy khách với máy chủ:
Máy khách sử dụng A2 (khóa công khai của máy chủ) để mã hóa các thông báo liên kết với Máy chủ, Máy chủ giải mã chúng bằng A1 (Khóa riêng của máy chủ)
Server-To-client Comms:
Server sử dụng B2 (khóa công khai của máy khách) để mã hóa thông báo liên kết với Máy khách, Máy khách giải mã chúng bằng B1 (Khóa riêng của máy khách)
Về Loại tệp .CER và .PFX, Máy chủ không có .PFX của riêng nó không nên được phân phối ra bên ngoài tổ chức của bạn, thay vào đó, bạn nên phân phối tệp .CER ra cho Khách hàng.
có thể tìm thấy thêm thông tin tại đây:
https://www.digicert.com/ssl-cryptography.htm
và tại đây:
/server/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client