Trong khi WPA được thiết kế với các ràng buộc phần cứng đã tồn tại trên WEP, WPA2 được thiết kế từ sự hỗn tạp. Đặc tả 802.11i được phê chuẩn vào tháng 6 năm 2004, WPA2 là phần bổ sung hoàn chỉnh cho chuẩn 802.11i, WPA2 giống như WPA, nhằm vào bảo mật, điều khiển truy cập và bảo toàn dữ liệu. WPA2 có thể sử dụng cơ chế chứng thực IEEE 802.1x (cho chế độ hoạt động của WPA), hay PSK (cho chế độ đơn) theo cách tương tự như WPA để thực hiện chứng thực
WPA sử dụng cơ chế bộ đếm với giao thức CCB-MAC (CCMP) thay vì sử dụng TKIP và giành cho các thiết bị yêu cầu theo yêu cầu của hệ thống bảo mật mạnh RSN (Robust Secure Network) đòi hỏi. Thuật toán AES (Advanced Encryption Standard - Chuẩn mã hóa cao cấp) được sử dụng trong quá trình mã hóa (trong cơ chế của bộ đếm- CTR) và toàn ven dữ liệu và cả trong xử lý cũng sử dụng các khóa tương tự như hệ đẳng cấp khóa.
Chế độ bộ đếm (CTR) là phương thức thường được sử dụng trong quá trình mã hóa, và sử dụng AES thay vì sử dụng thuật toán mã hóa RC4. AES là thuật toán mã hóa khối. AES được lựa chọn bởi NIST (United States National Institute of Standards) để thay thế cho thuật toán của chuẩn mã hóa dữ liệu (DES và 3DES/Triple DES). Nó là phương thức mã hóa được ưa chuộng hơn trong FIPS 140-2 (US Federal Information Processing Standards). Một số tổ chức yêu cầu tương thích với FIPS 140-2 (như các cơ quan chính quyền), hoặc yêu cầu bảo mật căn bản trên chuẩn 802.11i hoàn chỉnh. AES trong CCMP sử dụng các khóa 128 bit và thực hiện trên kích thước khối 128 bit.
AES theo phương diện nào đó mạnh hơn RC4, nếu tính toán 255
khóa trên một giây, có thể phải mất khoảng 149 trăm nghìn tỉ năm để phá khóa AES 128 bit.
CBC-MAC (Cipher Block Chaining with Message Authentication Code) cung cấp khả năng toàn vẹn dữ liệu. Giống như MIC trong TKIP đảm bảo gửi
và nhận tốt và chống sửa đổi dữ liệu của frame, CCMP cũng sử dụng số gói PN (Packet Number) 48 bit như IV, PN tăng thêm giá trị với mỗi frame gửi được đi, và không bao giờ lặp lại chúng với khóa tức thời đơn. Giống như TSC trong TKIP, PN cung cấp bảo vệ chống tấn công và làm việc trên cùng một hướng. Frame với PN không tuần tự hoặc frame có PN nhỏ hơn hoặc bằng giá trị hiện tại của bộ đếm sẽ bị loại bỏ.
Có thể thấy mã hóa của WPA2 qua sơ đồ sau:
Hình 2.16 Quá trình mã hóa của WPA2
- Dữ liệu trong frame được chia nhỏ thành các khối 128 bit
- Tính MIC, IV được tạo lập bởi ràng buộc các bit ưu tiên và đăng ký trước,
địa chỉ của người gửi, PN và các thông tin header khác. IV này được dùng cho khối AES, và thực hiện XOR luồng khóa kết quả với các yếu tố đặc trưng trong header của frame. Khóa đưa ra này sau đó thực hiện XOR với khối 128 bit đầu tiên của dữ liệu. Rồi tiếp tục cho đến hết độ dài của frame trả về trong 128 bit giá trị CCB-MAC. 64 bit đầu tiên của giá trị này được sử dụng như MIC.
- Xử lý quá trình mã hóa được thiết lập bởi IV và bộ đếm đặt giá trị 1. Kết
hợp IV và giá trị bộ đếm (tương tự như giá trị đặt trước) được đưa vào khối AES và phép toán XOR được thực hiện giữa luồng khóa kết quả và
128 bit dữ liệu đầu tiên. Giá trị bộ đếm được tăng lên, cứ tiếp tục như vậy đến hết độ dài của toàn frame.
- Bộ đếm được đặt giá trị 0, và đưa vào khối AES. Phép toán XOR được
thực hiện giữa luồng khóa kết quả và 64 bit giá trị MIC.
- Giá trị MIC (đã được mã hóa) được nối thêm vào frame (đã được mã hóa)
- Frame được gửi đi.
Quá trình giải mã ngược lại với quá trình này theo từng bước một, nó sẽ kiểm tra PN, nếu nó không lớn hơn giá trị hiện tại của bộ đếm, frame sẽ bị loại bỏ. Bước cuối cùng là kiểm tra MIC. Giá trị của MIC được tính toán theo cách tương tự, so sánh giá trị này với giá trị MIC trong frame nhận được, nếu đúng frame sẽ được chuyển lên tầng cao hơn, ngược lại nó sẽ bị loại bỏ.
Không giống WPA, chức năng đối phó được kích hoạt sau một giá trị lỗi MIC, WPA2 không cần đến chức năng này nếu tính toán giá trị MIC không đúng với giá trị MIC nhận được. Bởi vì WPA được thiết kế trong giới hạn của các phần cứng WEP nên nó buộc phải thực hiện chức năng này, còn WPA2 mới được hoàn thành và nó không phụ thuộc vào WEP. Trong khi WPA khắc phục các nhược điểm của WEP, được thiết kế để làm việc trên phần cứng WEP. WPA2 được thiết kế mà không bị ràng buộc bởi điều này và như đã thấy, WPA2 sử dụng AES - một thuật toán mã hóa mạnh hơn RC4. MIC trong WPA2, CBC-MAC cũng tốt hơn MIC của WPA, WPA2 sử dụng 802.1x hay PSK để chứng thực và sử dụng PN để bảo vệ chống tấn công. Trong khi nó không có các vấn đề bảo mật trong WPA (bằng độ dài mật khẩu không theo quy tắc được chọn khi sử dụng chế độ PSK), WPA hoàn toàn tránh được các lỗi trong thiết kế của WEP. WPA cũng đáp ứng nhu cầu của các tổ chức yêu cầu bảo mật không dây căn bản trên bản đặc tả 802.11i hoàn chỉnh hay yêu cầu điều kiện FIPS 140-2.
Giống như WPA, WPA2 có một vài bổ sung rất tốt. Tuy nhiên WPA sẽ yêu cầu phần cứng mới (ví dụ như AP, card mạng), có thể là chi phí cao. Vi chương trình nâng cấp có thể thực hiện trên phần cứng hiện có, nhưng không phải tất cả các thiết bị đều có thể nâng cấp lên WPA2. Yêu cầu nâng cấp này để hỗ trợ cho khả năng xử lý yêu cầu củaAES. Để thay thế có thể thực hiện trong chế độ phần mềm, tuy nhiên yêu cầu là chúng có đủ khả năng xử lý (như Pentium 2.5GHz). Từ khi các sản phẩm WPA2 được tung ra, chưa có sự nghi ngờ nào trong các thử nghiệm nghiêm ngặt và kết quả cho thấy không phát hiện ra lỗ hổng mà có thể khai thác được.
Tóm tắt các phương thức bảo mật trong hệ thống không dây qua bảng sau: Bảng 2.1 Tóm tắt các giao thức bảo mật trong hệ thống không dây
WEP Phương thức 802.11i
WPA WPA2
Security Protocol WEP TKIP CCMP
Cipher RC4 RC4 AES
Key Length 40 hoặc 104 bit 128 bit mã hóa,
64 bit chứng thực 128 bit
Key life 24 bit IV 48 bit IV
Key Generation Ghép nối các khóa Có 2 giai đoạn
trộn khóa Không cần
Data Integrity CRC-32 Micheal CBC-MAC
Header Integrity Không có Micheal CBC-MAC
Replay Protection Không có PN (Packet Number)
Key Management Không có EAP-based