

Mở đầu
Wi-Fi được coi là một trong những công nghệ được sử dụng phổ biến và tin cậy trên thế giới. Bắt đầu từ năm 1990, nhiều giao thức bảo mật không dây đã được phát triển và áp dụng, nhưng không có giao thức nào có thể được coi là giao thức tốt nhất vì các mối đe dọa bảo mật khác nhau xuất hiện hàng ngày với các lỗ hổng và vấn đề mới đối với dữ liệu và ứng dụng của chúng ta. Hai giao thức bảo mật chính đã được các nhà nghiên cứu phát triển, đó là:
- Wireless Equivalent Privacy (WEP),
- Wi-Fi Protected Access (WPA, WPA2 và WPA3).
WEP là giao thức mã hóa mặc định đầu tiên được giới thiệu đầu tiên vào năm 1997 trong tiêu chuẩn IEEE 802.11, nhằm mục đích làm cho mạng không dây an toàn như mạng có dây. Tuy nhiên do những lỗi kỹ thuật của nó nên nó không được áp dụng rộng rãi. Để giải quyết các vấn đề phương pháp mật mã của WEP, Wi-Fi Protected Access (WPA) đã được đề xuất vào năm 2003. Wi-Fi Protected Access 2 (WPA2) là một giao thức mới được phát triển vào năm 2004 sau khi WEP và WPA thất bại trong việc bảo mật kết nối qua mạng Wi-Fi. WPA2 còn được gọi là tiêu chuẩn IEEE 802.11i - là một cải tiến đối với tiêu chuẩn 802.11 chỉ định các cơ chế bảo mật cho mạng không dây. Vào tháng 1 năm 2018, Wi-Fi Alliance đã công bố WPA3 thay thế cho WPA2 và chứng nhận bắt đầu vào tháng 6 năm 2018. Tiêu chuẩn WPA3 cũng thay thế trao đổi khóa chia sẻ trước (PSK) bằng xác thực trao đổi ngang bằng cùng lúc (SAE), giảm thiểu các vấn đề bảo mật do mật khẩu yếu gây ra.
Wi-Fi Protected Access (WPA)
Do WEP không đủ an toàn, IEEE 802.11 Task Group I (TGi) đã trình bày một giao thức mới là Wi-Fi Protected Access, được biết đến rộng rãi là WPA bằng cách cải tiến WEP. WPA chứa Giao thức toàn vẹn khóa tạm thời (TKIP). Có hai chế độ mà WPA hoạt động: chế độ đầu tiên là khóa chia sẻ trước (PSK) và Enterprise.
Thông thường, chế độ Enterprise toàn diện hơn về bảo mật. Nó cung cấp vì nó không chia sẻ bất kỳ khóa hoặc thông tin nào nhưng khó thiết lập hơn PSK. Trong khi mã dòng RC4 được sử dụng để mã hóa trong WPA, có ba yếu tố mà TKIP khác với giao thức WEP đó là: Michael, mã toàn vẹn thông điệp (MIC), thủ tục giải trình tự packet và trộn khóa cho mỗi packet.
Hình 1. Thuật toán mã hóa WPA (TKIP)
Wi-Fi Protected Access 2 (WPA2)
Năm 2004, việc phê chuẩn WPA2 được biết đến rộng rãi như là thế hệ thứ hai của WPA và nó được công nhận là giao thức an toàn nhất được sử dụng trong mạng không dây. Giao thức này sử dụng việc triển khai thuật toán AES mã hóa khối 128-bit cho cả quá trình xác thực và mã hóa. Trong WPA2, có hai chế độ xác thực được sử dụng là khóa chia sẻ trước và Enterprise. Thay vì TKIP, WPA2 sử dụng cặp khóa chuyển tiếp (PTK) để tạo khóa. Phiên bản sử dụng thuật toán Michael, WPA2 sử dụng CCMP (Counter Mode CBC MAC Protocol) áp dụng thuật toán mã hóa AES. Để đảm bảo tính toàn vẹn và cung cấp xác thực, CCM (CBC-MAC) đã được sử dụng trong WPA2.
Hình 2. Quy trình mã hóa CCMP
So sánh các giao thức Wi-Fi: WPA và WPA2
Tính toàn vẹn dữ liệu: WPA và WPA2
WPA sử dụng Michael để xác minh tính toàn vẹn nội dung thông điệp. Ngoài ra, giải trình tự gói được sử dụng để ngăn chặn các cuộc tấn công phát lại. Mặt khác, WPA2 sử dụng CCMP để cung cấp tính toàn vẹn cho cả dữ liệu và tiêu đề packet. Số thứ tự có độ dài 48 bit thay đổi bất cứ khi nào có sự thay thế khóa MIC ngăn chặn các cuộc tấn công phát lại; trình tự này là những gì TKIP sử dụng và gắn nhãn là trình tự gói tin. Phương pháp trộn số thứ tự nói trên với khóa mã hóa, mã hóa MIC và WEP ICV trong khi phát hiện và loại bỏ các gói có chứa một số ngoài trình tự.
Michael hoặc MIC
Các thuật toán MIC này bảo vệ tính toàn vẹn của dữ liệu khỏi sự sửa đổi có thể gây ra do làm giả và giả mạo. Đơn giản, một thuật toán xác định trước và dữ liệu cùng tính toán một giá trị thẻ mà người gửi truyền cùng với khóa và so sánh giữa giá trị đã gửi và giá trị mà người nhận tính toán để xác định xem dữ liệu có còn nguyên vẹn hay không.
Counter Mode với Cipher Block Chaining MAC Protocol (CCMP)
Michael đã được sử dụng trong WPA để đảm bảo tính toàn vẹn của dữ liệu. Michael được phát triển để cho phép các thiết bị không dây hiện có khắc phục một số lỗi của WEP. Tuy nhiên, nó vẫn phụ thuộc vào thuật toán RC4 nên nó không phải là giải pháp tốt cho các môi trường yêu cầu bảo mật cao. Do đó, Counter Mode với Cipher Block Chaining MAC Protocol (CCMP) được phát triển và được coi là một giải pháp tốt hơn. Tuy nhiên, cần phải nâng cấp phần cứng cho các thiết bị không dây được sử dụng.
CCMP dựa trên CCM là một chế độ mật mã của AES được sử dụng để xác thực một khối được mã hóa. Trong CCM, kích thước khối 128 bit được mã hóa. Cipher Block Chaining MAC (CBC-MAC) được sử dụng trong CCM để xác thực và bảo vệ tính toàn vẹn. Để ngăn chặn các cuộc tấn công phát lại, CCMP sử dụng một nonce được xây dựng bằng cách sử dụng số thứ tự PN 48-bit. CCMP được coi là giải pháp tốt nhất cho cả tính bảo mật và tính toàn vẹn. Nó sử dụng cùng một khóa mật mã cho cả tính bảo mật và tính toàn vẹn, làm giảm độ phức tạp. CCMP cung cấp tính toàn vẹn của cả tiêu đề gói và gói payload.
Điểm mạnh của WPA/WPA2
WPA và WPA2 có một số cải tiến đã giúp và hỗ trợ WiFi an toàn hơn so với trước đây. WPA/WPA2 cung cấp xác thực lẫn nhau để ngăn khóa bị lộ khi nó được truyền qua không khí. Trong giao thức WPA, mã hóa dữ liệu đã được cải thiện bằng cách sử dụng giao thức toàn vẹn khóa tạm thời (TKIP). Nó cũng có chức năng băm trộn các khóa bằng cách tích hợp hai thành phần là vectơ khởi tạo (IV) và khóa cơ sở. Hơn nữa, để đảm bảo rằng các khóa không bị thay đổi, WPA sử dụng tính năng kiểm tra tính toàn vẹn. Một trong những phát triển nhất được thực hiện bởi WPA và WPA2 là mở rộng độ dài của véc tơ khởi tạo (IV) lên 48 bit thay vì 24 bit để đảm bảo IV không được sử dụng trước đó, cũng như nó được sử dụng cho TSC (Bộ đếm trình tự TKIP ) để bảo vệ khỏi việc phát lại dữ liệu. Về tính toàn vẹn, WPA sử dụng “Michael” là cơ chế kiểm tra tính toàn vẹn của thông điệp (MIC) trong khi WPA2 sử dụng CCM. Mặt khác, chế độ Enterprise sử dụng 802.1X + EAP cho cơ chế xác thực thông qua máy chủ xác thực (802.1x) cung cấp khả năng kiểm soát và bảo mật cho lưu lượng mạng không dây của khách hàng. Hơn nữa, trong chế độ này không sử dụng khóa chia sẻ trước mà nó cần một máy chủ RADIUS, được gọi là máy chủ xác thực. Để tránh sử dụng lại các khóa, có một cơ chế làm lại để đảm bảo độ mới của bản rõ được mã hóa và các khóa dùng cho kiểm tra tính toàn vẹn sẽ được sử dụng. Một trong những điểm mạnh nhất của WPA2 là nó sử dụng AES để mã hóa dữ liệu. Nó cũng sử dụng một công cụ mã hóa khối đang làm việc để mã hóa tất cả các khối văn bản mọi lúc.
Điểm yếu của WPA/WPA2
Tại thời điểm công bố, các vấn đề liên quan đến bảo mật cho WPA/WPA2 có thể nói là an toàn. Theo đà phát triển, có một số điểm yếu nhỏ trong các cơ chế xác thực trong WPA-PSK rất dễ bị tấn công từ điển. Cuộc tấn công này dựa trên việc nắm bắt được sự bắt tay 4 chiều giữa máy khách và AP, cung cấp đủ thông tin một cách rõ ràng để bắt đầu một cuộc tấn công. Không giống như WEP, nơi các phương pháp thống kê có thể được sử dụng để tăng tốc quá trình bẻ khóa, khóa chia sẻ trước (PSK) được tạo ra bằng cách sử dụng hàm dẫn suất khóa dựa trên mật khẩu (PBKDF2) - là hàm giả ngẫu nhiên lấy một đầu vào và băm chúng nhiều lần để tạo ra một khóa.
Cặp khóa chuyển tiếp (PTK) có nguồn gốc từ cặp khóa chính (PMK) thông qua bắt tay 4 chiều với thông tin được sử dụng để tính toán giá trị của nó, được truyền dưới dạng văn bản rõ. Thông tin này bao gồm địa chỉ MAC của máy khách, địa chỉ MAC của AP và hai số ngẫu nhiên (ANonce và SNonce). Mục duy nhất bị thiếu là PMK/PSK, vì vậy những kẻ tấn công có thể vét cạn toàn bộ PMK với SSID cần biết mà dễ dàng lấy được bằng dò quét.
Mặc dù WPA-PSK là một khóa có độ dài 256 bit, nhưng nó có một điểm yếu chính vì nó dựa trên từng cặp khóa chính (PMK) được tạo bởi hàm dẫn xuất khóa PBKDF2. PBKDF2 trong WPA có 5 tham số đầu vào là:
PMK = PBKDF2 (mật khẩu, SSID, độ dài SSID, 4096, 256)
Trong đó: 4096 là số lần lặp lại của một hàm con và 256 là độ dài của đầu ra. Điều này có nghĩa là độ mạnh của khóa chuyển tiếp (PTK) chỉ dựa vào giá trị cặp khóa chính (PMK), đó là khóa chia sẻ trước (PSK).
Tháng 10/2017, một kiểu tấn công có tên KRACK – đây là một kiểu tấn công cài đặt lại bằng cách liên tục thiết lập lại nonce được truyền trong bước thứ ba của quá trình bắt tay WPA2 , kẻ tấn công có thể dần dần so khớp các gói được mã hóa đã thấy trước đó và tìm được chuỗi khóa được sử dụng để mã hóa lưu lượng. Tiêu chuẩn cho WPA2 dự đoán các trường hợp không thường xuyên ngắt kết nối Wi-Fi và cho phép kết nối lại bằng cách sử dụng cùng một giá trị cho lần bắt tay thứ ba (để kết nối lại nhanh chóng và liên tục). Bởi vì tiêu chuẩn không yêu cầu một khóa khác được sử dụng trong kiểu kết nối lại này, có thể cần thiết bất cứ lúc nào, một cuộc tấn công phát lại có thể xảy ra. Kẻ tấn công có thể liên tục gửi lại lần bắt tay thứ ba trong giao tiếp để thao tác hoặc đặt lại khóa mã hóa WPA2. Mỗi lần đặt lại khiến dữ liệu được mã hóa bằng các giá trị giống nhau, do đó các khối có cùng nội dung có thể được nhận dạng. Việc đặt lại nhiều lần dần dần làm lộ ra nhiều chuỗi khóa hơn cho đến khi toàn bộ khóa được biết đến và kẻ tấn công có thể đọc toàn bộ lưu lượng truy cập của mục tiêu trên kết nối đó.
Kết luận
Bài báo mô tả các giao thức được phát triển trong Wi-Fi như WPA và WPA2. Các dịch vụ bảo mật khác nhau do mỗi bên cung cấp, WPA cung cấp quyền riêng tư và bảo mật cho người dùng bằng cách sử dụng TKIP để mã hóa và Michael để bảo mật dữ liệu. Mặc dù có những ưu điểm do WPA cung cấp, nó vẫn có một số điểm yếu liên quan đến quá trình xác thực và toàn vẹn dữ liệu. Do đó, WPA2 đã được phát triển.
Nguyễn Xuân Tiến