Asymmetric Encryption là gì? Lá chắn bảo vệ dữ liệu trong thế giới kỹ thuật số
Bạn đã bao giờ tự hỏi làm thế nào dữ liệu của mình được bảo mật khi lướt web? Câu trả lời nằm ở mã hóa bất đối xứng, một kỹ thuật tinh vi sử dụng hai khóa riêng biệt để bảo vệ thông tin.
Khi nhắc đến từ "mã hóa", chúng ta thường nghĩ ngay đến một kỹ thuật bảo vệ dữ liệu bằng khóa mật mã, và điều này hoàn toàn chính xác. Tuy nhiên, điều mà hầu hết mọi người không nhận ra là có nhiều loại phương pháp mã hóa khác nhau. Mã hóa bất đối xứng, còn được gọi là mật mã Khóa Công khai, là một ví dụ điển hình.
Không giống như mã hóa "thông thường" (đối xứng), mã hóa bất đối xứng mã hóa và giải mã dữ liệu bằng cách sử dụng hai khóa mật mã riêng biệt nhưng có liên kết toán học với nhau. Các khóa này được gọi là "Khóa Công khai" và "Khóa Riêng tư". Cùng với nhau, chúng được gọi là "Cặp Khóa Công khai và Riêng tư".
Mã Hóa Bất Đối Xứng Hoạt Động Như Thế Nào?
Mã hóa bất đối xứng (Asymmetric Encryption) sử dụng hai khóa riêng biệt nhưng có liên quan. Một khóa, Khóa Công khai, được sử dụng để mã hóa, và khóa còn lại, Khóa Riêng tư, được sử dụng để giải mã. Đúng như tên gọi, Khóa Riêng tư chỉ dành cho chủ sở hữu để chỉ người nhận được xác thực mới có thể giải mã thông điệp.
Hãy cùng tìm hiểu điều này qua một ví dụ đơn giản.
Giả sử bạn là một cơ quan tình báo và bạn cần tạo ra một cơ chế để các đặc vụ của mình có thể báo cáo một cách an toàn. Bạn không cần giao tiếp hai chiều; họ có mệnh lệnh của họ; bạn chỉ cần các báo cáo thường xuyên, chi tiết từ họ. Mã hóa bất đối xứng sẽ cho phép bạn tạo khóa công khai cho các đặc vụ để mã hóa thông tin của họ, với một khóa riêng tư tại trụ sở chính là cách duy nhất để giải mã tất cả. Điều này cung cấp một hình thức liên lạc một chiều không thể xâm nhập.
Khóa Được Tạo Như Thế Nào?
Cốt lõi của mã hóa bất đối xứng nằm ở một thuật toán mật mã. Thuật toán này sử dụng một giao thức tạo khóa (một loại hàm toán học) để tạo ra một cặp khóa. Cả hai khóa đều được kết nối toán học với nhau. Mối quan hệ giữa các khóa khác nhau giữa các thuật toán.
Thuật toán về cơ bản là sự kết hợp của hai hàm - hàm mã hóa và hàm giải mã. Hàm mã hóa có nhiệm vụ mã hóa dữ liệu và hàm giải mã có nhiệm vụ giải mã dữ liệu.
Mã Hóa Bất Đối Xứng trong Chứng chỉ SSL/TLS
Trong SSL/TLS và các chứng chỉ kỹ thuật số khác, cả hai phương pháp - đối xứng và bất đối xứng - đều được sử dụng. Bây giờ, bạn có thể tự hỏi, "Tại sao lại sử dụng cả hai? Không phải mật mã bất đối xứng nên được sử dụng vì nó an toàn hơn sao?" Đúng là nó an toàn hơn, nhưng nó đi kèm với một nhược điểm. Một nhược điểm lớn của mật mã Khóa Công khai là thời gian tính toán. Vì việc xác minh và các hàm được áp dụng từ cả hai phía, nên nó làm chậm quá trình một cách đáng kể. Đó là lúc mã hóa đối xứng phát huy tác dụng.
Đầu tiên, khi hai bên (trình duyệt và máy chủ trong trường hợp của SSL) gặp nhau, chúng sẽ xác thực khóa riêng tư và khóa công khai của nhau thông qua mã hóa bất đối xứng. Sau khi quá trình xác minh thành công và cả hai bên đều biết họ đang nói chuyện với ai, quá trình mã hóa dữ liệu sẽ bắt đầu - thông qua mã hóa đối xứng, do đó tiết kiệm đáng kể thời gian và phục vụ cho mục đích bảo mật và bảo vệ dữ liệu. Toàn bộ quá trình này được gọi là bắt tay SSL/TLS.
Sự Khác Biệt Giữa Mã Hóa Đối Xứng và Bất Đối Xứng
Sử dụng Mã Hóa Bất Đối Xứng Mà Không Hề Nhận Ra
Khi bạn truy cập bất kỳ trang web/trang web HTTPS nào, trình duyệt của bạn sẽ thiết lập kết nối được mã hóa bất đối xứng với trang web đó. Trình duyệt của bạn tự động lấy khóa công khai của chứng chỉ SSL/TLS được cài đặt trên trang web (đó là lý do tại sao nó được gọi là "Khóa Công khai"). Bạn có muốn xem nó trông như thế nào không? Hãy nhấp vào ổ khóa màu xanh mà bạn nhìn thấy trước URL của chúng tôi và đi tới chi tiết chứng chỉ. Nó sẽ trông như thế này:
30 82 01 0a 02 82 01 01 00 c2 d8 be ec a4 e1 52 20 7f 7f 7d 1a 17 38 99 17 ef 6a 9e af 66 89 67 5a 58 e2 b8 7c 76 f2 b8 c6 8f 98 e4 06 eb 3c 1c 04 34 1e 10 a9 42 c2 34 be 99 3b 98 7b 35 60 3a d5 41 bb 96 19 1a 3c 66 a0 75 77 64 2a 2e 19 42 5a b1 d0 1f 4d ac 32 2e af 4e 20 b8 89 07 83 51 21 e4 35 02 4b 10 45 03 37 ce 26 87 e0 b8 4d dc ba c5 e7 ae 60 68 b3 0c a3 5c 4f dd 30 1f 95 96 a5 2e e5 6f ae e8 e2 dc df 3a ab 51 74 82 f5 9e 15 3a ab 7c 99 3c 07 5b ad f2 88 a2 23 1c cd 41 d8 66 a4 90 0d 4a 23 05 5c de aa e3 82 13 f4 08 87 b3 34 08 6f 38 fb f8 84 ec 06 99 e0 ab 8a ab 1b 7c 99 fd 57 94 67 17 15 b7 27 67 c1 bc d1 a7 f6 c6 7e 01 63 02 0c 03 c4 bb 1f 70 0d db 27 ab 79 57 d9 92 35 f3 92 3c ad f4 fb f0 36 82 33 5a a0 f9 82 78 04 a6 e7 d6 ee 01 23 68 36 68 3b 41 fe 68 56 0b 6b 36 3b 83 b1 02 03 01 00 01
Thật tuyệt vời phải không?
Vì vậy, khóa này mã hóa bất kỳ thông tin nào bạn gửi đến trang web của chúng tôi trong lần bắt tay ban đầu, và Khóa Riêng tư của chúng tôi sẽ giải mã nó. Bạn có muốn xem Khóa Riêng tư của chúng tôi trông như thế nào không? Nó đây:
Ồ, đó là chìa khóa văn phòng của chúng tôi. Chúng tôi đã nói với bạn rằng Khóa Riêng tư phải được giữ "Riêng tư" chưa? Vâng, bạn KHÔNG BAO GIỜ được đưa nó cho bất kỳ ai và hãy giữ nó bên mình (không phải theo nghĩa đen). Chúng tôi khuyên bạn nên lưu trữ nó ở một vị trí mà chỉ những người được ủy quyền mới có quyền truy cập. Nếu có thể, bạn nên thử lưu nó trên một thiết bị phần cứng không được kết nối với hệ thống của bạn mọi lúc.
Kết Luận
Bạn vẫn đang đọc bài viết này? Tuyệt vời! Chúng tôi tin rằng bây giờ bạn (hy vọng là) đã biết mã hóa bất đối xứng là gì và cách thức nó bảo vệ bạn khỏi cơn thịnh nộ của tội phạm mạng.
Dữ liệu (khoa học máy tính) Thuật toán Công nghệ thông tin ADS (xe máy) Derive (hệ thống đại số máy tính) Giao thức (lập trình hướng đối tượng) bảo mật