TLS, chứng chỉ và chữ ký số
Đã giới thiệu| English | Ý nghĩa |
|---|---|
| TLS/ˌtiː el ˈes/ | bảo mật lớp vận chuyển |
| digital certificate/ˈdɪdʒɪtl səˈtɪfɪkət/ | Chứng chỉ số |
| digital signature/ˈdɪdʒɪtl ˈsɪɡnɪtʃə/ | chữ ký số |
| authenticity/ɔːθənˈtɪsɪti/ | Tính xác thực |
| integrity/ɪnˈteɡrɪti/ | Tính toàn vẹn |
| Certificate Authority/səˈtɪfɪkət əˈθɒrɪti/ | Tổ chức cấp chứng chỉ |
Chỉ riêng mã hóa sẽ không giúp ích gì
- Giả sử kết nối của bạn với ngân hàng được mã hóa hoàn hảo, và giả sử một kẻ tấn công ngồi giữa bạn và ngân hàng, giữ các kết nối đã mã hóa ở mỗi bên.
- Mọi byte đều được mã hóa. Nhưng mọi byte cũng bị đọc và thay đổi bởi kẻ tấn công. Mã hóa đã đúng như lời hứa và không bảo vệ được thứ gì quan trọng.
- Điều thiếu sót không phải là sự bí mật mà là danh tính: bằng chứng cho thấy khóa công khai mà bạn mã hóa thuộc về ngân hàng chứ không phải người nào đó trả lời.
- Bài học này gồm ba yếu tố đóng vai trò lấp đầy khoảng trống đó: TLS cho kết nối, chứng chỉ kỹ thuật số cho danh tính, và ** chữ ký kỹ thuật số** cho xác thực và toàn vẹn.
TLS cung cấp những gì
- TLS, Transport Layer Security, là thế hệ tiếp theo của SSL, là giao thức bảo vệ dữ liệu khi đang truyền tải. Nó cung cấp ba thứ cùng lúc, và bài thi yêu cầu nêu đủ cả ba.
- Mã hóa, để người nghe lén chỉ đọc được dữ liệu mã. Xác thực, để client biết họ đang nói chuyện với máy chủ nào. Toàn vẹn, để mọi can thiệp trong quá trình truyền tải đều bị phát hiện.
- Đây chính là ý nghĩa của biểu tượng ổ khóa trên trình duyệt, và nó được dùng bởi HTTPS, email an toàn, VPN và ngân hàng trực tuyến.
TLS cung cấp tổ hợp các biện pháp bảo vệ nào cho dữ liệu đang truyền?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
TLS mã hóa lưu lượng, xác thực máy chủ (qua chứng chỉ) và phát hiện can thiệp (tính toàn vẹn).
Các biện pháp bảo vệ nào mà TLS cung cấp cho dữ liệu đang truyền? Chọn tất cả các phương án đúng.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Việc giao nhận là nhiệm vụ của TCP. TLS bổ sung thêm tính bảo mật, danh tính và phát hiện can thiệp lên trên đó.
Quy trình bắt tay (Handshake)
- Client đề xuất các bộ mã hóa (cipher suites) mà nó hỗ trợ. Server phản hồi với lựa chọn của mình và chứng chỉ kỹ thuật số, chứa khóa công khai của server.
- Client kiểm tra chứng chỉ. Nếu hài lòng, hai bên sử dụng mã hóa bất đối xứng để thỏa thuận một khóa phiên mới.
- Tất cả lưu lượng truy cập sau đó được mã hóa đối xứng bằng khóa phiên này: nhanh chóng, và được thiết lập khóa mới cho cuộc trò chuyện này.
- Bước kiểm tra chứng chỉ là bước đánh bại cuộc tấn công trong tình huống giả định. Không có nó, client sẽ vui lòng đồng ý khóa phiên với kẻ tấn công.

Bất đối xứng để thỏa thuận khóa, đối xứng cho tất cả những gì sau đó
Quy trình bắt tay TLS
Xem xét những gì xảy ra trước khi biểu tượng ổ khóa xuất hiện. Mã hóa khóa công khai chậm chỉ được sử dụng để thống nhất khóa chung; trang web thực tế sau đó truyền tải dưới sự bảo vệ của mã hóa đối xứng nhanh.
Sắp xếp các bước của quy trình bắt tay TLS theo thứ tự.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
Việc kiểm tra chứng chỉ diễn ra trước khi thống nhất khóa, đây chính là yếu tố ngăn chặn cuộc tấn công người ở giữa (man-in-the-middle) thống nhất khóa với khách.
Chứng chỉ kỹ thuật số
- Một chứng chỉ kỹ thuật số gắn danh tính, tên miền hoặc tổ chức với khóa công khai, và được ký bởi một Cục phát hành chứng chỉ (CA) đáng tin cậy.
- Nó chứa chủ thể mà danh tính của nó được chứng thực, khóa công khai của chủ thể, nhà phát hành, thời hạn hiệu lực, và chữ ký kỹ thuật số của CA bao trùm lên tất cả.
- Chữ ký là điều làm cho chứng chỉ đáng tin cậy: ai cũng có thể tạo tài liệu claiming là ngân hàng, nhưng chỉ có CA mới có thể sản xuất chữ ký xác minh được bằng khóa công khai của CA.

Một bên thứ ba đáng tin cậy bảo đảm rằng khóa này thuộc về tên gọi này
Nối mỗi cơ chế bảo mật với chức năng của nó.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Chứng chỉ bảo đảm cho một khóa công khai; chữ ký sử dụng khóa riêng tư để chứng minh ai là người gửi và dữ liệu không bị thay đổi.
Ví dụ minh họa: cách client kiểm tra chứng chỉ
- Mô tả các bước kiểm tra mà trình duyệt thực hiện đối với chứng chỉ kỹ thuật số của một trang web. [4]
- Kiểm tra chứng chỉ nằm trong thời hạn hiệu lực, không hết hạn và chưa đến ngày生效.
- Kiểm tra tên chủ thể khớp với tên miền mà người dùng yêu cầu, đây là bước phát hiện kẻ tấn công đang trình bày chứng chỉ thật của một trang web khác.
- Xác minh chữ ký của CA trên chứng chỉ bằng khóa công khai của CA, chứng minh chứng chỉ chưa bị thay đổi.
- Theo dõi chuỗi về một CA gốc mà trình duyệt đã tin tưởng sẵn. Nếu bất kỳ bước kiểm tra nào thất bại, trình duyệt sẽ hiển thị cảnh báo "kết nối không phải là riêng tư".
Khi xác minh chứng chỉ, khách kiểm tra xem chứng chỉ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Trình duyệt kiểm tra ngày tháng hợp lệ, tên chủ thể khớp với trang web, và chữ ký của CA dẫn đến gốc đáng tin cậy.
Yếu tố nào làm cho một chứng chỉ số đáng tin cậy?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Bất cứ ai cũng có thể viết tài liệu claiming là ngân hàng và đưa một khóa vào đó. Chỉ có CA mới có thể tạo ra chữ ký xác thực được bằng khóa công khai của CA.
Chữ ký kỹ thuật số
- Một chữ ký kỹ thuật số chứng minh xác thực, ai là người gửi tin nhắn, và toàn vẹn, rằng tin nhắn không bị thay đổi. Nó không mã hóa tin nhắn hay khiến nó trở nên bí mật.
- Để ký: người gửi đưa tin nhắn qua hàm hash để tạo ra một đoạn digest, sau đó mã hóa đoạn digest đó bằng khóa riêng tư của chính họ. Đoạn digest đã mã hóa chính là chữ ký, và nó di chuyển cùng tin nhắn.
- Để xác minh: người nhận giải mã chữ ký bằng khóa công khai của người gửi để thu hồi digest, tự tính hash tin nhắn đã nhận, và so sánh hai kết quả.
- Nếu chúng khớp nhau, chỉ người nắm giữ khóa riêng tư mới có thể tạo ra chữ ký (xác thực) và tin nhắn không thể bị thay đổi (toàn vẹn), vì bất kỳ thay đổi nào cũng sẽ tạo ra một hàm hash khác.

Ký số digest bằng khóa riêng tư, kiểm tra bằng khóa công khai
Để tạo chữ ký số, người gửi:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Ký = hash tin nhắn, sau đó mã hóa digest bằng khóa riêng tư; người nhận xác minh bằng khóa công khai.
Chữ ký số chứng minh tính xác thực và tính toàn vẹn (ai đã ký, và dữ liệu không bị thay đổi) nhưng KHÔNG che giấu tin nhắn — bạn cần mã hóa nó để đảm bảo tính bảo mật.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Ký và mã hóa là hai mục tiêu riêng biệt: chữ ký chứng minh nguồn gốc/tính toàn vẹn; mã hóa giữ nội dung bí mật.
Để ký một tin nhắn, người gửi mã hóa digest của nó bằng ____ riêng tư của chính họ.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Người nhận sau đó giải mã nó bằng khóa công khai của người gửi. Chỉ người giữ khóa riêng tư mới có thể tạo ra chữ ký mở được theo cách đó.
Ví dụ minh họa: tại sao quy trình khóa lại ngược lại
- Trong nhắn tin bí mật, người gửi sử dụng khóa công khai của người nhận. Trong việc ký, người发送 sử dụng khóa riêng tư của chính họ. Giải thích lý do.
- Để đạt tính bí mật, bạn muốn chỉ một người có thể đọc nội dung, vì vậy hãy khóa bằng khóa mà ai cũng có, và chỉ mở được bằng khóa duy nhất mà không ai khác sở hữu.
- Đối với chữ ký số, bạn muốn mọi người đều có thể kiểm tra nó nhưng chỉ mình bạn mới có thể tạo ra nó, do đó bạn khóa bằng khóa riêng mà chỉ mình bạn có và mở khóa bằng khóa công khai mà ai cũng có.
- Hướng của cặp khóa phụ thuộc vào những gì bạn đang cố gắng chứng minh. Đây là ý tưởng được kiểm tra nhiều nhất trong chủ đề này.
Việc mã hóa một kết nối đơn thuần là đủ để ngăn chặn cuộc tấn công người ở giữa.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Mã hóa bảo vệ một kênh truyền đến bất kỳ ai ở đầu kia. Chứng chỉ xác nhận danh tính của họ, do đó xác minh là bước then chốt.
Nhận chứng chỉ
- Chủ sở hữu máy chủ tạo cặp khóa và gửi khóa công khai cùng thông tin danh tính đến Cơ quan Chứng thực. Khóa riêng tư vẫn nằm với chủ sở hữu. CA kiểm soát quyền quản lý tên miền hoặc danh tính cần thiết theo loại chứng chỉ.
- CA ký vào chứng chỉ liên kết danh tính đó với khóa công khai, sử dụng khóa riêng tư của CA, và trả lại để cài đặt. Chứng chỉ là bằng chứng công khai về một khóa, không phải là hộp chứa khóa bí mật của chủ sở hữu.
Những mục nào thuộc về yêu cầu chứng chỉ gửi đến CA? Chọn tất cả các đáp án đúng.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
CA kiểm tra danh tính được tuyên bố và gắn kết nó với khóa công khai. Khóa riêng tư của người申请 vẫn được giữ bí mật.
Sắp xếp các bước để lấy chứng chỉ kỹ thuật số.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
Danh tính được xác minh trước khi CA ký kết liên kết. Máy chủ cung cấp chứng chỉ cho các khách hàng.
Ví dụ minh họa: khóa nào ký cái gì?
- Nhà phát triển phần mềm ký vào tập tải xuống bằng khóa riêng tư của nhà phát triển. Người nhận lấy khóa công khai của nhà phát triển từ chứng chỉ hợp lệ và dùng nó để xác minh chữ ký tập tải xuống.
- Khóa riêng tư của CA ký vào chứng chỉ; khóa riêng tư của nhà phát triển ký vào tập tải xuống. Một chứng chỉ hợp lệ xác định khóa công khai nào đáng tin cậy. Bản thân nó không ký vào chương trình hay chứng minh chương trình đó vô hại.
Gán mỗi phép toán với khóa tương ứng.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
CA bảo đảm sự gắn kết giữa danh tính và khóa. Nhà xuất bản ký nội dung của chính mình; người nhận kiểm tra bằng khóa công khai tương ứng.
Điểm số dễ mất
- TLS cung cấp mã hóa, xác thực và toàn vẹn. Nếu chỉ nêu mã hóa thì sẽ mất hai phần ba câu trả lời.
- Chữ ký số mã hóa bảng băm (hash) của tin nhắn bằng khóa riêng của người gửi, không phải chính tin nhắn, và nó không làm cho tin nhắn trở nên bí mật.
- Kiểm chứng một chứng từ có nghĩa là kiểm tra các ngày tháng, tên khớp với tên miền, chữ ký của CA và chuỗi liên kết đến gốc tin cậy. Việc kiểm tra tên là điều các thí sinh hay quên.
- Chứng từ chính là thứ ngăn chặn kẻ trung gian. Mã hóa đơn thuần thì không: nó chỉ bảo vệ kênh giao tiếp với bất kỳ ai ở đầu kia.
Bạn đã nắm vững
- TLS mang lại mã hóa, xác thực và toàn vẹn; quá trình bắt tay của nó trình bày một chứng từ, sau đó thống nhất một khóa phiên để mã hóa đối xứng nhanh chóng.
- Một chứng từ số liên kết một danh tính với khóa công khai và được ký bởi Cục chứng nhận; nó chứa chủ thể, khóa công khai của họ, cơ quan phát hành, thời hạn hiệu lực và chữ ký của CA.
- Kiểm chứng chứng từ bằng cách xem các ngày tháng, tên khớp với tên miền, chữ ký của CA và chuỗi liên kết đến gốc tin cậy.
- Một chữ ký số là bảng băm của tin nhắn được mã hóa bằng khóa riêng của người gửi, được kiểm tra bằng khóa công khai của người gửi: nó chứng minh tính xác thực và toàn vẹn, chứ không phải tính bảo mật.