Tôi đã dành nhiều năm làm việc với các hệ thống mã hóa, và cho phép tôi nói với bạn - mã hóa đối xứng không phải là hiệp sĩ trong bộ áo giáp sáng mà mọi người vẫn nghĩ. Chắc chắn, nó nhanh chóng và hiệu quả, nhưng nó có một khiếm khuyết chết người khiến tôi không thể chợp mắt.
Mã hóa đối xứng sử dụng cùng một chìa khóa để khóa và mở khóa dữ liệu của bạn. Các cơ quan chính phủ và các hoạt động quân sự đã dựa vào phương pháp này trong nhiều thập kỷ, nhưng tôi không hoàn toàn bị thuyết phục rằng họ đã đưa ra quyết định đúng đắn.
Cơ Chế Bẩn Thỉu
Khi tôi mã hóa một cái gì đó bằng các phương pháp đối xứng, tôi thực sự đang sử dụng một khóa cho mọi thứ. Dữ liệu gốc của tôi được đưa vào, được làm rối bởi một thuật toán sử dụng khóa đó, và ra ngoài là những chữ ký mã hóa. Bất kỳ ai muốn đọc tin nhắn của tôi cần có cùng một khóa.
Bảo mật dường như đến từ việc khó khăn như thế nào để đoán khóa. Một khóa 128-bit sẽ mất hàng tỷ năm với máy tính thông thường để bẻ khóa qua phương pháp thử và sai - ít nhất đó là những gì họ nói với chúng ta. Còn khóa 256-bit? Chúng được cho là "chống lại lượng tử." Tôi vẫn còn hoài nghi.
Các mã khối và mã luồng là các triển khai phổ biến nhất. Các mã khối xử lý dữ liệu theo từng khối (như các khối 128-bit), trong khi các mã luồng mã hóa dữ liệu từng bit một. Cả hai phương pháp đều có vị trí của chúng, nhưng không cái nào giải quyết được vấn đề trao đổi khóa cơ bản.
Đối xứng vs. Bất đối xứng: Cuộc chiến thực sự
Tôi thích mã hóa không đối xứng vào hầu hết các ngày. Khác với cách tiếp cận khóa đơn của mã hóa đối xứng, mã hóa không đối xứng sử dụng hai khóa khác nhau - một khóa công khai mà bất kỳ ai cũng có thể thấy, một khóa riêng mà chỉ tôi biết. Chắc chắn, các thuật toán không đối xứng chạy chậm hơn và cần các khóa dài hơn để đạt được mức độ bảo mật tương tự, nhưng sự đánh đổi về bảo mật là xứng đáng theo quan điểm của tôi.
Ứng dụng trong thế giới thực
Tiêu chuẩn Mã hóa Nâng cao (AES) có mặt ở khắp mọi nơi những ngày này - từ các ứng dụng nhắn tin của bạn đến lưu trữ đám mây. Các triển khai phần cứng thường sử dụng AES-256, điều này nghe có vẻ ấn tượng cho đến khi bạn nhận ra rằng các lỗi triển khai thường làm cho bảo mật lý thuyết trở nên vô nghĩa.
Và đừng để tôi bắt đầu với những hiểu lầm về blockchain! Bitcoin thậm chí không sử dụng mã hóa như hầu hết mọi người nghĩ - nó sử dụng ECDSA cho chữ ký kỹ thuật số. Số lượng thông tin sai lệch tràn ngập trong các vòng tròn crypto thật đáng kinh ngạc.
Sự thật khó chịu
Có, mã hóa đối xứng nhanh và tương đối an toàn với các khóa đủ dài. Nhưng có một vấn đề lớn và rõ ràng - phân phối khóa. Làm thế nào để bạn chia sẻ an toàn khóa quý giá đó với người nhận mà bạn dự định?
Nếu tôi gửi cho bạn một cái gì đó được mã hóa bằng một khóa đối xứng, tôi cần phải gửi cho bạn khóa đó một cách an toàn. Nếu ai đó chặn khóa đó trong quá trình truyền, tất cả nỗ lực bảo mật của chúng ta sẽ sụp đổ ngay lập tức. Đó là lý do tại sao nhiều giao thức hiện nay sử dụng phương pháp kết hợp, kết hợp các phương pháp đối xứng và bất đối xứng.
TLS, cái mà bảo vệ hầu hết các kết nối internet, là một ví dụ hoàn hảo về cách tiếp cận lai này. Nhưng ngay cả những giải pháp tinh vi này cũng không hoàn hảo - lỗi lập trình tạo ra các lỗ hổng mà không có sự bảo mật toán học nào có thể vượt qua.
Mã hóa đối xứng có thể rất phổ biến trong việc bảo vệ lưu lượng internet và dữ liệu đám mây, nhưng điểm yếu trong việc trao đổi khóa cơ bản của nó sẽ luôn khiến tôi nghi ngờ liệu chúng ta có đang xây dựng các hệ thống bảo mật của mình trên những nền tảng không vững chắc hay không.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Quái thú hai mặt của bảo mật: Quan điểm của tôi về Mã hóa đối xứng
Tôi đã dành nhiều năm làm việc với các hệ thống mã hóa, và cho phép tôi nói với bạn - mã hóa đối xứng không phải là hiệp sĩ trong bộ áo giáp sáng mà mọi người vẫn nghĩ. Chắc chắn, nó nhanh chóng và hiệu quả, nhưng nó có một khiếm khuyết chết người khiến tôi không thể chợp mắt.
Mã hóa đối xứng sử dụng cùng một chìa khóa để khóa và mở khóa dữ liệu của bạn. Các cơ quan chính phủ và các hoạt động quân sự đã dựa vào phương pháp này trong nhiều thập kỷ, nhưng tôi không hoàn toàn bị thuyết phục rằng họ đã đưa ra quyết định đúng đắn.
Cơ Chế Bẩn Thỉu
Khi tôi mã hóa một cái gì đó bằng các phương pháp đối xứng, tôi thực sự đang sử dụng một khóa cho mọi thứ. Dữ liệu gốc của tôi được đưa vào, được làm rối bởi một thuật toán sử dụng khóa đó, và ra ngoài là những chữ ký mã hóa. Bất kỳ ai muốn đọc tin nhắn của tôi cần có cùng một khóa.
Bảo mật dường như đến từ việc khó khăn như thế nào để đoán khóa. Một khóa 128-bit sẽ mất hàng tỷ năm với máy tính thông thường để bẻ khóa qua phương pháp thử và sai - ít nhất đó là những gì họ nói với chúng ta. Còn khóa 256-bit? Chúng được cho là "chống lại lượng tử." Tôi vẫn còn hoài nghi.
Các mã khối và mã luồng là các triển khai phổ biến nhất. Các mã khối xử lý dữ liệu theo từng khối (như các khối 128-bit), trong khi các mã luồng mã hóa dữ liệu từng bit một. Cả hai phương pháp đều có vị trí của chúng, nhưng không cái nào giải quyết được vấn đề trao đổi khóa cơ bản.
Đối xứng vs. Bất đối xứng: Cuộc chiến thực sự
Tôi thích mã hóa không đối xứng vào hầu hết các ngày. Khác với cách tiếp cận khóa đơn của mã hóa đối xứng, mã hóa không đối xứng sử dụng hai khóa khác nhau - một khóa công khai mà bất kỳ ai cũng có thể thấy, một khóa riêng mà chỉ tôi biết. Chắc chắn, các thuật toán không đối xứng chạy chậm hơn và cần các khóa dài hơn để đạt được mức độ bảo mật tương tự, nhưng sự đánh đổi về bảo mật là xứng đáng theo quan điểm của tôi.
Ứng dụng trong thế giới thực
Tiêu chuẩn Mã hóa Nâng cao (AES) có mặt ở khắp mọi nơi những ngày này - từ các ứng dụng nhắn tin của bạn đến lưu trữ đám mây. Các triển khai phần cứng thường sử dụng AES-256, điều này nghe có vẻ ấn tượng cho đến khi bạn nhận ra rằng các lỗi triển khai thường làm cho bảo mật lý thuyết trở nên vô nghĩa.
Và đừng để tôi bắt đầu với những hiểu lầm về blockchain! Bitcoin thậm chí không sử dụng mã hóa như hầu hết mọi người nghĩ - nó sử dụng ECDSA cho chữ ký kỹ thuật số. Số lượng thông tin sai lệch tràn ngập trong các vòng tròn crypto thật đáng kinh ngạc.
Sự thật khó chịu
Có, mã hóa đối xứng nhanh và tương đối an toàn với các khóa đủ dài. Nhưng có một vấn đề lớn và rõ ràng - phân phối khóa. Làm thế nào để bạn chia sẻ an toàn khóa quý giá đó với người nhận mà bạn dự định?
Nếu tôi gửi cho bạn một cái gì đó được mã hóa bằng một khóa đối xứng, tôi cần phải gửi cho bạn khóa đó một cách an toàn. Nếu ai đó chặn khóa đó trong quá trình truyền, tất cả nỗ lực bảo mật của chúng ta sẽ sụp đổ ngay lập tức. Đó là lý do tại sao nhiều giao thức hiện nay sử dụng phương pháp kết hợp, kết hợp các phương pháp đối xứng và bất đối xứng.
TLS, cái mà bảo vệ hầu hết các kết nối internet, là một ví dụ hoàn hảo về cách tiếp cận lai này. Nhưng ngay cả những giải pháp tinh vi này cũng không hoàn hảo - lỗi lập trình tạo ra các lỗ hổng mà không có sự bảo mật toán học nào có thể vượt qua.
Mã hóa đối xứng có thể rất phổ biến trong việc bảo vệ lưu lượng internet và dữ liệu đám mây, nhưng điểm yếu trong việc trao đổi khóa cơ bản của nó sẽ luôn khiến tôi nghi ngờ liệu chúng ta có đang xây dựng các hệ thống bảo mật của mình trên những nền tảng không vững chắc hay không.