AES encryption hay Advanced Encrytion Standard (tiêu chuẩn mã hóa nâng cao) là một công cụ mật mã chịu trách nhiệm bảo mật thông tin.
Được áp dụng từ NSA, Microsoft đến Apple, AES là một trong những thuật toán mật mã quan trọng nhất đang được sử dụng..
Mã hóa AES là gì? Nó hoạt động như thế nào? Và những người không chuyên về công nghệ có thể áp dụng nó để đảm bảo an toàn hơn trong cuộc sống hàng ngày không?
Đó chính xác là những gì IoT Tương Lai sẽ chia sẻ trong bài viết này.
AES encryption là gì
AES hay tiêu chuẩn mã hóa nâng cao (còn được gọi là Rijndael) là một trong những phương pháp được sử dụng rộng rãi nhất để mã hóa và giải mã thông tin nhạy cảm vào năm 2020.
Phương pháp mã hóa này sử dụng thuật toán mã hóa khối để đảm bảo dữ liệu có thể được lưu trữ một cách an toàn.
Và trước khi chúng ta đi sâu vào các sắc thái kỹ thuật và nhiều biệt ngữ mật mã thú vị trong giây lát, để đánh giá đầy đủ AES, trước tiên chúng ta phải tìm hiểu một chút về lịch sử của nó.
AES so với DES
Trước khi đi sâu vào AES, IoT Tương Lai sẽ nói về cách AES đạt được tiêu chuẩn hóa và nói ngắn gọn về tiền nhiệm của nó là DES hay tiêu chuẩn mã hóa dữ liệu.
Dựa trên sự phát triển của họ trên một thuật toán nguyên mẫu do Horst Feistel thiết kế, IBM đã phát triển thuật toán DES ban đầu vào đầu những năm 1970.
Sau đó, mã hóa được đệ trình lên Văn phòng Tiêu chuẩn Quốc gia. Sau đó hợp tác với NSA đã sửa đổi thuật toán ban đầu rồi xuất bản nó thành tiêu chuẩn xử lý thông tin liên bang vào năm 1977.
DES đã trở thành thuật toán tiêu chuẩn được chính phủ Hoa Kỳ sử dụng trong hơn hai thập kỷ, cho đến khi, vào tháng 1 năm 1999, Distribute.net và Electronic Frontier Foundation đã hợp tác để phá khóa DES công khai trong vòng chưa đầy 24 giờ.
Họ đã kết thúc thành công chỉ sau 22 giờ 15 phút, đưa điểm yếu của thuật toán trở thành tiêu điểm cho tất cả mọi người xem.
Trong 5 năm, Viện Tiêu chuẩn và Công nghệ Quốc gia đã đánh giá nghiêm ngặt các thiết kế mật mã từ 15 bên cạnh tranh, bao gồm MARS từ IBM, RC6 từ RSA Security, Serpent, Twofish và Rijndael, cùng nhiều bên khác.
Trong suốt quá trình 5 năm, toàn bộ cộng đồng mật mã đã tập hợp lại với nhau để thực hiện các bài kiểm tra chi tiết, các cuộc thảo luận và các cuộc tấn công giả nhằm tìm ra các điểm yếu và lỗ hổng tiềm ẩn có thể ảnh hưởng đến bảo mật của từng mật mã.
Mặc dù sức mạnh của mật mã cạnh tranh rõ ràng là vô cùng quan trọng, nhưng nó không phải là yếu tố duy nhất được đánh giá. Các yêu cầu về tốc độ, tính linh hoạt và tính toán cũng được xem xét vì chính phủ cần một mã hóa dễ thực hiện, đáng tin cậy và nhanh chóng.
Và trong khi có nhiều thuật toán khác hoạt động rất tốt (thực tế là nhiều thuật toán trong số đó vẫn được sử dụng rộng rãi cho đến ngày nay), mật mã Rijndael cuối cùng đã giành chiến thắng và được tuyên bố là một tiêu chuẩn liên bang.
Sau đó mật mã Rijndael, được thiết kế bởi hai nhà mật mã người Bỉ (Joan Daemen và Vincent Rijmen) đã được đổi tên thành Tiêu chuẩn mã hóa nâng cao hay AES encryption.
Nhưng thành công của mật mã này không kết thúc với quá trình tiêu chuẩn hóa của nó.
Trên thực tế, sau khi tiêu chuẩn hóa AES, mật mã tiếp tục tăng qua các cấp bậc, và vào năm 2003, NSA cho rằng nó phù hợp để bảo vệ Thông tin Tối mật.
Tại sao IoT Tương Lai muốn nói với bạn tất cả những điều này?
Trong những năm gần đây, AES đã là chủ đề của nhiều tranh cãi khi nhiều nhà mật mã đặt câu hỏi về tính phù hợp của nó. IoT Tương Lai muốn bạn hiểu quy trình cần thiết để phát triển thuật toán và mức độ tin cậy to lớn mà ngay cả những cơ quan bí mật nhất cũng đặt vào mật mã Rijndael.
Ứng dụng của AES trong thực tế
Trước khi đi sâu vào một số chi tiết kỹ thuật hơn về cách hoạt động của AES, chúng ta hãy tìm hiểu về ứng dụng của nó trong thực tế.
Cần lưu ý rằng AES miễn phí cho mọi mục đích sử dụng công cộng, tư nhân, thương mại hoặc phi thương mại. (Mặc dù bạn nên thận trọng khi triển khai AES trong phần mềm vì thuật toán được thiết kế trên hệ thống big-endian và phần lớn các máy tính cá nhân chạy trên hệ thống little-endian.)
Công cụ lưu trữ và nén
Nếu bất kỳ ai trong số các bạn đã từng tải xuống một tệp từ Internet và sau đó mở tệp đó và thấy rằng tệp đã được nén, (có nghĩa là kích thước tệp gốc đã được giảm xuống để giảm thiểu ảnh hưởng đến ổ cứng của bạn) thì có khả năng bạn đã cài đặt phần mềm dựa trên mã hóa AES.
Các công cụ nén phổ biến như WinZip, 7 Zip và RAR cho phép bạn nén và sau đó giải nén tệp để tối ưu hóa không gian lưu trữ và gần như tất cả chúng đều sử dụng AES để đảm bảo an toàn cho tệp.
Mã hóa đĩa / phân vùng
Nếu bạn đã quen với khái niệm mật mã và đã thực hiện các biện pháp bổ sung để đảm bảo tính bảo mật cho dữ liệu cá nhân của mình, thì phần mềm mã hóa đĩa / phân vùng mà bạn sử dụng có thể sử dụng thuật toán AES.
BitLocker, FileVault và CipherShed đều là phần mềm mã hóa chạy trên AES để bảo mật thông tin.
VPN
Thuật toán AES cũng thường được áp dụng cho VPN hay Mạng riêng ảo.
Đối với những người không quen với thuật ngữ này, VPN là một công cụ cho phép bạn sử dụng kết nối internet công cộng để kết nối với một mạng an toàn hơn.
VPN hoạt động bằng cách tạo một “đường hầm” giữa kết nối mạng công cộng của bạn và mạng được mã hóa trên máy chủ do nhà cung cấp VPN vận hành.
Ví dụ: nếu bạn thường xuyên làm việc tại quán cà phê, bạn có thể biết rằng kết nối công cộng cực kỳ không an toàn và khiến bạn dễ bị tấn công bởi tất cả các loại hack.
Với VPN, bạn có thể dễ dàng giải quyết vấn đề này bằng cách kết nối với mạng riêng sẽ che giấu các hoạt động trực tuyến của bạn và giữ an toàn cho dữ liệu của bạn.
Hoặc giả sử bạn đang đi du lịch đến một quốc gia có luật kiểm duyệt nghiêm ngặt và bạn nhận thấy rằng tất cả các trang web yêu thích của bạn đều bị hạn chế.
Với một thiết lập VPN đơn giản, bạn có thể nhanh chóng lấy lại quyền truy cập vào các trang web này bằng cách kết nối với mạng riêng ở quốc gia của mình.
Các ứng dụng khác
Ngoài các ứng dụng trên, AES được sử dụng trong rất nhiều phần mềm và ứng dụng khác nhau mà bạn chắc chắn đã quen thuộc.
Nếu bạn sử dụng bất kỳ loại công cụ mật khẩu nào như LastPass hoặc 1Password, thì bạn đã biết lợi ích của mã hóa AES 256-bit.
Nếu bạn đã từng chơi Grand Theft Auto thì những người ở Rockstar đã phát triển một công cụ trò chơi sử dụng AES để ngăn chặn hack nhiều người chơi.
Bất kỳ ai thích gửi tin nhắn qua WhatsApp hoặc Facebook Messenger thì AES đang hoạt động.
Hy vọng rằng bây giờ bạn đã bắt đầu nhận ra AES có vai trò quan trọng như thế nào trong việc vận hành toàn bộ khuôn khổ của xã hội hiện đại.
Và bây giờ bạn đã hiểu nó là gì và nó được sử dụng như thế nào, đã đến lúc chúng ta cùng tìm hiểu làm thế nào mà nó hoạt động.
Mật mã AES
Mật mã AES là một phần của một họ được gọi là mật mã khối, là các thuật toán mã hóa dữ liệu trên cơ sở mỗi khối.
Các “khối” này được đo bằng bit xác định đầu vào của bản gốc và đầu ra của bản mã. Ví dụ AES dài 128 bit, cứ mỗi 128 bit của bản gốc, 128 bit của bản mã được tạo ra.
Giống như gần như tất cả các thuật toán mã hóa, AES dựa vào việc sử dụng các khóa trong quá trình mã hóa và giải mã. Vì thuật toán AES là đối xứng, cùng một khóa được sử dụng cho cả mã hóa và giải mã.
AES hoạt động trên các byte ma trận cột 4 x 4.
Kích thước khóa được sử dụng cho mật mã này chỉ định số lần lặp lại hoặc "vòng" cần thiết để đưa bản gốc qua mật mã và chuyển nó thành bản mã.
Đây là cách các chu kỳ chia nhỏ.
10 vòng được yêu cầu cho một khóa 128 bit
12 Vòng là bắt buộc đối với khóa 192-bit
14 Vòng được yêu cầu cho khóa 256 bit
Mặc dù các khóa dài hơn cung cấp cho người dùng khả năng mã hóa mạnh mẽ hơn, nhưng sức mạnh đi kèm với chi phí hiệu suất, nghĩa là chúng sẽ mất nhiều thời gian hơn để mã hóa.
Ngược lại, mặc dù các khóa ngắn hơn không mạnh bằng khóa dài hơn, nhưng chúng cung cấp thời gian mã hóa nhanh hơn nhiều cho người dùng.
Mật mã đối xứng dễ phá hơn mật mã không đối xứng phải không?
Bây giờ trước khi chúng ta tiếp tục, IoT Tương Lai muốn đề cập ngắn gọn về một chủ đề đã gây ra một lượng tranh cãi đáng kể trong cộng đồng mật mã.
Như đã lưu ý trước đó, AES dựa trên một thuật toán đối xứng, có nghĩa là khóa được sử dụng để mã hóa thông tin là khóa được sử dụng để giải mã nó. Khi so sánh với thuật toán bất đối xứng, dựa vào khóa riêng để giải mã và khóa công khai để mã hóa tệp, thuật toán đối xứng thường được cho là kém an toàn hơn.
Mặc dù đúng là mã hóa không đối xứng có thêm một lớp bảo mật vì nó không yêu cầu phân phối khóa riêng, nhưng điều này không có nghĩa là nó tốt hơn trong mọi tình huống.
Các thuật toán đối xứng không yêu cầu sức mạnh tính toán tương tự như các khóa bất đối xứng, làm cho nó nhanh hơn đáng kể.
Tuy nhiên, khóa đối xứng có điểm yếu ở chỗ truyền tệp. Bởi vì nó dựa trên cùng một khóa để mã hóa và giải mã, các thuật toán đối xứng yêu cầu bạn tìm một phương pháp an toàn để chuyển khóa đến người nhận.
Với các thuật toán bất đối xứng, bạn có thể phân phối khóa công khai của mình một cách an toàn cho bất kỳ ai mà không cần lo lắng, vì chỉ khóa riêng của bạn mới có thể giải mã các tệp được mã hóa.
Trong khi các thuật toán bất đối xứng tốt hơn cho việc truyền tệp, AES không nhất thiết kém an toàn hơn vì nó dựa trên mật mã đối xứng. Nó chỉ bị hạn chế trong ứng dụng của nó.
Các cuộc tấn công bảo mật liên quan đến AES
AES vẫn chưa bị phá giống như DES vào năm 1999, và cuộc tấn công brute-force thành công lớn nhất chống lại mật mã khối chỉ chống lại mã hóa 64-bit (được biết ngoài công chúng).
Phần lớn các nhà mật mã đồng ý rằng, với phần cứng hiện tại, việc tấn công thành công thuật toán AES, ngay cả trên một khóa 128 bit sẽ mất hàng tỷ năm và do đó rất khó xảy ra.
Tại thời điểm hiện tại, không có một phương pháp nào được biết đến cho phép ai đó tấn công và giải mã dữ liệu được mã hóa bởi AES miễn là thuật toán được triển khai đúng cách.
Tuy nhiên, nhiều tài liệu bị rò rỉ bởi Edward Snowden cho thấy NSA đang nghiên cứu xem liệu thứ được gọi là thống kê tau có thể được sử dụng để phá vỡ AES hay không.
Các cuộc tấn công kênh bên
Bất chấp tất cả các bằng chứng đều chỉ ra tính không thực tế của một cuộc tấn công AES với phần cứng hiện tại, điều này không có nghĩa là AES hoàn toàn an toàn.
Các cuộc tấn công kênh bên, là một cuộc tấn công dựa trên thông tin thu được từ việc triển khai vật lý của một hệ thống mật mã, vẫn có thể bị lợi dụng để tấn công hệ thống được mã hóa bằng AES. Các cuộc tấn công này không dựa trên các điểm yếu trong thuật toán, mà là các dấu hiệu vật lý về một điểm yếu tiềm ẩn có thể bị lợi dụng để xâm phạm hệ thống.
Dưới đây là một vài ví dụ phổ biến.
Tấn công định thời gian: Các cuộc tấn công này dựa trên việc những kẻ tấn công đo lường thời gian mà các phép tính khác nhau cần để thực hiện.
Tấn công theo dõi năng lượng: Các cuộc tấn công này dựa trên sự thay đổi của mức tiêu thụ điện năng của phần cứng trong quá trình tính toán
Tấn công điện từ: Các cuộc tấn công này, dựa trên bức xạ điện từ bị rò rỉ, có thể trực tiếp cung cấp cho kẻ tấn công bản gốc và các thông tin khác. Thông tin này có thể được sử dụng để phỏng đoán các khóa mật mã bằng cách sử dụng các phương pháp tương tự như các phương pháp được NSA sử dụng với TEMPEST.
Kết luận
Với sự phổ biến ngày càng tăng của các cuộc tấn công mạng và mối quan tâm ngày càng tăng xung quanh vấn đề bảo mật thông tin, điều quan trọng hơn bao giờ hết là phải hiểu rõ về các hệ thống giữ an toàn cho bạn và thông tin cá nhân của bạn.
Và hy vọng, bài viết này đã giúp bạn hiểu biết cơ bản về một trong những thuật toán bảo mật quan trọng nhất đang được sử dụng hiện nay.
Tuy nhiên bạn không nên chỉ hiểu cách nó hoạt động thôi mà còn cần làm cho nó hoạt động cho bạn để giúp bạn tối đa hóa bảo mật kỹ thuật số và giảm thiểu khả năng bị tấn công trực tuyến.