Mật mã khóa đối xứng là gì?

Chia sẻ
Copied to clipboard!
Mật mã khóa đối xứng là gì?

Mật mã khóa đối xứng là gì (hay mã hóa đối xứng) là một loại sơ đồ mã hóa trong đó một khóa giống nhau sẽ vừa được dùng để mã hóa, vừa được dùng để giải mã các tệp tin. Phương pháp mã hóa thông tin này đã được sử dụng khá phổ biến từ nhiều thập kỷ với mục đích tạo ra cách thức liên lạc bí mật giữa chính phủ với quân đội. Ngày nay, các thuật toán khóa đối xứng được ứng dụng rộng rãi trên nhiều hệ thống máy tính khác nhau nhằm tăng cường bảo mật cho dữ liệu. 


Cách thức hoạt động

Một sơ đồ mã hóa đối xứng thường sử dụng một khóa đơn được chia sẻ giữa 2 hoặc nhiều người dùng với nhau. Khóa duy nhất này sẽ được dùng cho cả 2 tác vụ mã hóa và giải mã các văn bản thô (các tin nhắn hoặc mảnh dữ liệu cần được mã hóa). Quá trình mã hóa bao gồm việc chạy văn bản thô (đầu vào) thông qua một thuật toán mã hóa còn gọi là mật mã (cipher) sẽ lần luợt tạo ra các bản mã - ciphertext (đầu ra).

Khi sơ đồ mã hóa đủ mạnh thì cách duy nhất để đọc và truy cập được các thông tin chứa trong các bản mã là sử dụng khóa tương ứng để giải mã. Quá trình giải mã về cơ bản sẽ chuyển đổi các bản mã trở về dạng văn bản thô ban đầu.

Mức độ bảo mật của các hệ thống mã hóa đối xứng sẽ phụ thuộc vào độ khó trong việc suy đoán ngẫu nhiên ra khóa đối xứng theo hình thức tấn công brute force. Lấy ví dụ, để dò ra mã hóa của 1 khóa 128-bit thì sẽ mất tới vài tỷ năm nếu sử dụng các phần cứng máy tính thông thường. Thông thường, các khóa có độ dài tới 256-bit có thể được xem là có độ bảo mật cao tuyệt đối, có khả năng chống lại được hình thức tấn công brute force từ các máy tính lượng tử. 

Trong số các sơ đồ mã hóa đối xứng được sử dụng ngày nay thì có 2 loại thông dụng nhất là nền tảng mật mã block và stream. Trong mật mã block, dữ liệu được nhóm vào từng khối theo kích thước định trước, mỗi khối được mã hóa bằng khóa đối xứng và thuật toán mã hóa (vd: các văn bản thô 128-bit sẽ được mã hóa thành các bản mã 128-bit). Khác với mật mã block, mật mã stream không mã hóa dữ liệu văn bản thô theo block mà mã hóa theo các gia số 1-bit (mỗi văn bản thô 1-bit được mã hóa thành bản mã 1-bit mỗi lần). 


Mã hóa đối xứng vs. Mã hóa bất đối xứng

Mã hóa đối xứng là một trong 2 phương pháp chính trong mã hóa dữ liệu trên các hệ thống máy tính hiện đại. Phương pháp còn lại là mã hóa bất đối xứng hay còn gọi là mật mã khóa công khai. Trên thực tế, điểm khác biệt chính giữa 2 phương pháp này chính là việc các hệ thống bất đối xứng thường sử dụng 2 khóa khác nhau. Trong đó, 1 khóa sẽ được công khai chia sẻ (khóa công khai), khóa còn lại được giữ bí mật (khóa bí mật). 

Việc sử dụng tới 2 loại khóa thay vì 1 cũng tạo ra nhiều điểm khác biệt về mặt tính năng giữa 2 loại mã hóa này. Các thuật toán bất đối xứng thường phức tạp và chậm hơn so với các thuật toán đối xứng. Bởi khóa công khai và khóa bí mật sử dụng trong mã hóa bất đối xứng thường có liên quan tới toán học về một mức độ nào đó, vì thế, các khóa này bản thân nó sẽ dài hơn đáng kể so với các khóa đối xứng khác để có thể đạt được mức độ bảo mật tương đương. 


Ứng dụng trong các hệ thống máy tính hiện đại

Các thuật toán mã hóa đối xứng được sử dụng nhiều trong các hệ thống máy tính hiện đại với mục đích tăng cường bảo mật dữ liệu và cho người dùng. Chuẩn Mã Hóa Cấp Cao (AES) được sử dụng rộng rãi trong các ứng dụng nhắn tin an toàn lẫn lưu trữ đám mây, chính là một ví dụ điển hình của mật mã đối xứng. 

Ngoài các ứng dụng phần mềm, AES còn được tích hợp trực tiếp vào các phần cứng máy tính. Các sơ đồ mã hóa đối xứng nền tảng phần cứng thường sử dụng chuẩn AES 256, một biến thể đặc biệt của Chuẩn Mã Hóa Cấp Cao AES với kích thước khóa là 256 bit.

Một điểm đáng lưu ý ở đây là blockchain của Bitcoin lại không sử dụng mã hóa như nhiều người vẫn nghĩ. Thay vào đó, nó sử dụng một loại thuật toán chữ ký số đặc biệt (DSA) còn gọi là Thuật toán chữ ký số đường Ellip (ECDSA) có chức năng tạo ra các chữ ký số mà không cần sử dụng tới mã hóa. 

Một điểm dễ gây nhầm lẫn ở đây là thuật toán ECDSA hoạt động dựa theo mật mã đường ellip (elliptic-curve cryptography) - loại mật mã có khả năng ứng dụng thực thi đa tác vụ bao gồm mã hóa, chữ ký số và tạo ra các số giả ngẫu nhiên. Tuy nhiên, ECDSA tự bản thân nó lại không thể thực hiện mã hóa được. 

 

Ưu và nhược điểm 

Các thuật toán đối xứng vừa có khả năng cung cấp mức độ bảo mật khá cao, vừa có khả năng cho phép mã hóa và giải mã tin nhắn rất nhanh. Mức độ đơn giản về tương quan của các hệ thống đối xứng cũng là một ưu điểm về mặt logic bởi nó sử dụng ít năng lượng tính toán hơn so với các hệ thống bất đối xứng. Thêm vào đó, cấp độ bảo mật mà mã hóa đối xứng mang lại có thể được nhân rộng lên một cách đơn giản chỉ bằng việc tăng độ dài của các khóa. Với mỗi bit được thêm vào trong độ dài 1 khóa đối xứng, thì độ khó của việc phá vỡ mã hóa đó bằng tấn công brute force sẽ tăng lên theo cấp số mũ. 

Mặc dù mã hóa đối xứng mang lại khá nhiều lợi ích rộng rãi, nhưng nó lại sở hữu một bất lợi khá lớn: vấn đề cố hữu trong việc truyền tải các khóa dùng để mã hóa và giải mã dữ liệu. Nếu các khóa này được chia sẻ lên các kết nối không an toàn thì nguy cơ bị can thiệp bởi một bên thứ 3 là rất lớn. Khi một người dùng không được ủy quyền chiếm được quyền truy cập một khóa đối xứng thì mọi dữ liệu được mã hóa bằng khóa đó sẽ bị xâm phạm. Để giải quyết vấn đề này, hiện này nhiều giao thức website đã sử dụng kết hợp cả mã hóa đối xứng và bất đối xứng nhằm thiết lập các kết nối an toàn. Giao thức mã hóa Bảo mật Tầng Vận tải (TLS) là một trong nhiều ví dụ điển hình được sử dụng để bảo mật cho phần lớn mạng internet ngày nay. 

Cần lưu ý rằng bất cứ loại mã hóa máy tính nào cũng đều rất dễ bị khai thác nếu không được vận hành đúng cách. Mặc dù các khóa có độ dài đủ lớn sẽ triệt tiêu được các nguy cơ về tấn công brute force toán học, nhưng nếu có sai sót trong việc triển khai từ phía các lập trình viên thì sẽ tạo ra các điểm yếu mở đường cho hacker thực hiện các vụ tấn công mạng. 


Kết luận 

Nhờ có các ưu điểm vượt trội về tốc độ, tính giản đơn và bảo mật tốt, mã hóa đối xứng hiện được sử dụng rộng rãi trong rất nhiều ứng dụng từ bảo mật lưu lượng truy cập internet cho tới bảo vệ dữ liệu lưu trữ trên các máy chủ điện toán đám mây. Mặc dù thường phải được kết hợp với mã hóa bất đối xứng để giải quyết các vấn đề về chuyển tiếp các khóa được an toàn thì các sơ đồ mã hóa đối xứng vẫn giữ được vai trò làm một thành tố quyết định đối với bảo mật trong máy tính hiện tại.  

Loading