2010-05-18 39 views
6

Điều tôi hiểu về RSA là Alice có thể tạo một tổ hợp khóa công cộng và khóa riêng, sau đó gửi khóa công khai cho Bob. Và sau đó Bob có thể mã hóa một cái gì đó bằng cách sử dụng khóa công khai và Alice sẽ sử dụng tổ hợp khóa công khai và riêng tư để giải mã nó.cách mật mã khóa công khai hoạt động như thế nào

Tuy nhiên, làm sao Alice có thể mã hóa thứ gì đó được gửi qua cho Bob? Bob sẽ giải mã nó như thế nào? Tôi hỏi vì tôi tò mò làm thế nào khi tôi đăng nhập vào trang web ngân hàng của mình, ngân hàng của tôi gửi cho tôi dữ liệu như báo cáo trực tuyến của tôi. Trình duyệt của tôi giải mã thông tin đó như thế nào? Tôi không có khóa riêng.

Trả lời

3

Đơn giản, bạn cần một khóa.

SSL/TLS giải quyết vấn đề này bằng cách tạo khóa phiên đối xứng trong quá trình thiết lập kết nối. Mã hóa khóa công khai được sử dụng để thiết lập khóa phiên này, sau đó được sử dụng để truyền dữ liệu hai hướng. Read more about TLS

4

Alice will use the public and private key combo to decrypt it

Alice sẽ chỉ giải mã với khóa bí mật của mình.

However, how can Alice encrypt something to be sent over to Bob? How would Bob decrypt it?

Alice sẽ cần khóa công khai của Bob để gửi một cái gì đó cho anh ta. Thông thường, mã hóa khóa công khai được sử dụng để xác thực, không từ chối (như ký) và phân phối các khóa đối xứng (nhanh hơn để mã hóa/giải mã các tin nhắn dài).

0

Trong trường hợp này, Alice sẽ sử dụng khóa công khai của Bob để mã hóa dữ liệu và sau đó Bob sẽ giải mã nó bằng khóa riêng của mình.

Về cơ bản, khóa công khai mã hóa dữ liệu và khóa cá nhân giải mã dữ liệu đó. Vì mỗi người dùng đều có khóa công cộng và khóa riêng tư, bạn có thể gửi dữ liệu an toàn đến bất kỳ người dùng nào khác.

0

Tuy nhiên, làm sao Alice có thể mã hóa thứ gì đó được gửi qua cho Bob? Bob sẽ giải mã nó như thế nào? Tôi hỏi vì tôi tò mò làm thế nào khi tôi đăng nhập vào trang web ngân hàng của mình, ngân hàng của tôi gửi cho tôi dữ liệu như báo cáo trực tuyến của tôi. Trình duyệt của tôi giải mã thông tin đó như thế nào? Tôi không có khóa riêng.

Đây là nơi bạn sai; bạn do có khóa riêng. Là một phần của quá trình bắt tay, mỗi bên tạo ra hai khóa: một khóa công khai và một khóa riêng. Máy khách gửi khóa công khai của nó tới máy chủ, người sẽ sử dụng nó để mã hóa tất cả dữ liệu được gửi tới máy khách. Tương tự như vậy, máy chủ tạo ra cả hai khóa và gửi khóa công khai của nó cho máy khách, nó sẽ sử dụng nó để mã hóa tất cả dữ liệu được gửi đến máy chủ.

Trong nhiều trường hợp, thuật toán khóa bất đối xứng chỉ được sử dụng để trao đổi một khóa khác, chính là thuật toán đối xứng.

7

Về cơ bản, thủ tục là:

  1. Các client kết nối đến máy chủ và yêu cầu chứng chỉ của máy chủ. Chứng chỉ chứa khóa công khai và thông tin về danh tính của máy chủ.
  2. Giả sử khách hàng hài lòng với danh tính của máy chủ, nó tạo ra một số ngẫu nhiên P và mã hóa nó bằng khóa công khai của máy chủ.
  3. Chỉ máy chủ mới có thể giải mã P (với khóa riêng tư - không được chia sẻ với bất kỳ ai) vì vậy khi khách hàng gửi số ngẫu nhiên được mã hóa đến máy chủ, máy chủ sẽ giải mã nó.
  4. Máy khách và máy chủ đều sử dụng P để tạo khóa đối xứng để sử dụng trong thuật toán mã hóa đối xứng, an toàn khi biết máy khách và máy chủ biết giá trị P được sử dụng để tạo khóa.
0

Nếu bạn kết nối với trang web của ngân hàng của bạn, nó hoạt động rất nhiều thứ mã hóa. Điều quan trọng nhất là bạn sử dụng khóa công khai của ngân hàng để gửi một mẩu thông tin cho ngân hàng, bởi vì trong mỗi máy chủ kết nối SSL (https) gửi cho khách hàng, khóa công khai của nó được đóng gói làm chứng chỉ.

Việc sử dụng chứng chỉ và PKI toàn cầu là rất quan trọng. Bạn muốn chắc chắn, rằng nếu bạn đưa cho ngân hàng của bạn pin ngân hàng của bạn, rằng ở phía bên kia thực sự là ngân hàng của bạn và không phải là một người khác. Điều này sẽ được giải quyết, bởi vì trên mỗi máy tính có một số lượng nhỏ các khóa công khai của các tổ chức nổi tiếng (như VeriSign) và ngân hàng gửi cho bạn không chỉ khóa công khai của máy chủ mà còn là chứng chỉ. chứng chỉ là một thông điệp được ký bởi VeriSign ví dụ, trong đó nói rằng "khóa công khai này thực sự là từ ngân hàng XYZ". Vì vậy, vì bạn có khóa công khai của VeriSign, trước tiên bạn có thể xác minh, chứng chỉ máy chủ của ngân hàng là chính xác. Vì vậy, bạn có thể chắc chắn rằng, bạn giao tiếp thực sự với ngân hàng của mình.

2

Tôi không tạo điều này, nhưng ai đó đã chia sẻ video này với tôi và điều đó đã giúp lý thuyết có ý nghĩa hơn nhiều. Như thường lệ của ma quỷ trong các chi tiết (thực hiện).

http://www.youtube.com/watch?v=YEBfamv-_do

2

Trên một lưu ý chung tôi phải vật lộn để hiểu Public Key Cryptography cho khá trong một cùng với các yếu tố khác của PKI như Digital Signatures và Giấy chứng nhận trong khi chuẩn bị cho Microsoft C# xác nhận.

Tôi đã xem qua phần giải thích dưới dạng tệp PDF ngắn gọn và chi tiết tại cgi.com. Tôi biết nó đã trở lại với Alice và Bob cũ! nhưng nó thực sự xóa mọi thứ cho tôi với các biểu đồ và ghi chú của nó và cũng có một số suy nghĩ kích thích câu hỏi ở cuối. Chắc chắn giới thiệu nó.

Truy cập http://www.cgi.com/files/white-papers/cgi_whpr_35_pki_e.pdf

Các vấn đề liên quan