Để khắc phục nhược điểm của WEP, chuẩn 802.11i được xây dựng và phát triển. Giao thức WPA được nhóm Wi-Fi Alliance tạm thời thay thế cho WEP khi chuẩn 802.11i chưa được hoàn thiện, sau khi chuẩn này hoàn thiện thì giao thức bảo mật sử dụng là WPA2 (nội dung chi tiết của WPA2 sẽ được trình bày ở phần sau).
Giống như các chuẩn 802.1x WPA có chức năng chứng thực, WPA có 2 chế độ thực hiện chứng thực: IEEE 802.1x và khóa chia sẻ PSK (Pre-Shared Key). Chứng thực IEEE 802.1x là hướng vào một nhóm chứng thực cơ sở, như máy chủ RADIUS (Remote Authentication Dial-In User Service – dịch vụ người dùng quay số vào chứng thực từ xa). IEEE 802.1x sử dụng giao thức chứng thực mở rộng EAP (Extensible Authentication Protocol) như giao thức truyền thông được sử dụng cho việc chứng thực, EAP là một phương thức truyền thông chứ không phải một phương thức chứng thực. Có rất nhiều phương pháp chứng thực trong thực tế sử dụng phương thức EAP, ví dụ như thẻ chứng thực, hay mật khẩu. Một số kiểu chứng thực bảo mật phổ biến như EAP-TLS (Transport Layer Security), EAP-TTLS (Tunnelled TLS) và PEAP (Protected EAP). Phương thức bảo mật này được cấp chứng nhận X.509 và cung cấp nhiều khả năng chứng thực. IEEE 802.1x là một cổng cơ bản đối với cơ chế chứng thực. Nó thực hiện trên quan điểm của cổng điều khiển và không điều khiển. Giao thức của WLAN có thể mô tả theo mô hình sau:
Hình 2.12 Mô hình thiết lập điển hình của WLAN
Hình 2.12a: trước khi station hoàn thành chứng thực, cổng điều khiển (thường được sử dụng để truy cập và LAN) bị đóng. Hình 2.12b: sau khi station hoàn thành chứng thực, cổng điều khiển được mở, station có thể truy cập vào LAN. Hai cổng này là 2 thực thể logic và cả hai đều sử dụng kết nối vật lý đến AP và các tài nguyên khác của LAN.
Trước khi station được chứng thực, chỉ có thông tin EAPOL (EAP over LAN) là được tham gia truyền thông tới máy chủ chứng thực. Về cơ bản thì nhóm đối tượng này vẫn có thể truy cập vào mạng cho đến khi quá trình chứng thực được hoàn thành. Một station có nhu cầu chứng thực đưa yêu cầu chứng thực. AP sẽ nhận các yêu cầu chứng thực, chuyển qua bộ chứng thực cấp quyền truy cập tới nguồn tài nguyên LAN. Tuy nhiên, bộ chứng thực không nhất thiết phải có trong AP nhất định hiện có. Để sử dụng phương thức EAP, yêu cầu chứng thực được gửi tới máy chủ chứng thực (thường là máy chủ RADIUS). Tất cả các giao tiếp đều được gửi thông qua bộ chứng thực.
Một chứng thực thành công, bộ chứng thực cấp quyền truy cập tới station đã chứng thực, khi đó station có thể truy cập tới tài nguyên của LAN (Hình 2.12b)
Trong 802.1x là 802.11i, một hệ đẳng cấp khóa được định nghĩa trong quá trình xử lý chứng thực như sau:
-Khóa chính MK (Master Key), không hẳn là một khóa đối xứng riêng
PSK2 (Private Symmetric Key), mà chỉ cho một station và một máy chủ
chứng thực có thể xử lý. MK bị giới hạn trong phiên làm việc riêng giữa station và máy chủ chứng thực. MK được đề cập như khóa AAA (Authentication, Authorisation and Accounting) trong chuẩn 802.11i
-Khóa chính thông minh kết hợp PMK (Pairwise Master Key), khóa này
có thể tạo thành từ MK, hay có thể sử dụng trực tiếp PSK2. Chỉ station và máy chủ chứng thực có thể chuyển PMK từ MK. PMK bị giới hạn phiên làm việc giữa station và AP. Máy chủ chứng thực nhận PMK chỉ một lần, rồi chuyển nó tới bộ chứng thực. PMK không giống MK, AP không thể tạo lập được PMK, Một AP khác có thể tạo ra những quyết định điều khiển truy cập thay cho máy chủ chứng thực
-Khóa tức thời thông minh kết hợp PTK (Pairwise Transient Key) được
tạo lập từ PMK và phương thức bắt tay phía thứ 4 giữa yêu cầu chứng thực (station) và bộ chứng thực (AP). PTK được tạo thành từ sự lựa chọn các khóa:
+ Khóa xác thực khóa KCK (Key Confirmation Key): 128 bit, sử
dụng để xác minh trạng thái của PMK và ràng buộc PMK theo sự quan hệ của station và AP
+ Khóa mã hóa khóa KEK (Key Encryption Key): 128 bit, sử dụng
để điều phối khóa tức thời theo nhóm GTK(Group Transient Key)
+ Khóa mã hóa theo thời gian TEK (Temporal Encryption Key):
+ Khóa xác thực nguồn gốc dữ liệu theo thời gian TDOAK (Temporal Data Origin Authenticity Key): 128 bit, TKIP thường sử dụng 2 khóa 64 bit, mỗi khóa theo hướng kết nối riêng, và được sử dụng để mã hóa mã toàn vẹn thông điệp (Message Integrity Code). TKIP-MIC sẽ được mô tả sau.
GTK là khóa được AP tạo ra (ngẫu nhiên), và mã hóa nó với KEK rồi gửi cho station. Khóa GTK này được sử dụng bởi tất cả các station kết hợp với AP. Quá trình xử lý này cung cấp việc quản lý khóa bảo mật và khóa GTK là bước cuối cùng hoàn thành quá trình xử lý chứng thực.
Như trên đã giới thiệu, EAP-TLS là một ví dụ về phương pháp chứng thực quan hệ bảo mật, hình sau sẽ minh họa từng bứớc của quá trình phức tạp này:
Bước 1. Station kết hợp với AP.
Bước 2. AP khóa tất cả lưu lượng truyền từ station và yêu cầu ID của
station.
Bước 3. Station trả lời và AP chuyển thông tin đó đến máy chủ
RADIUS.
Bước 4. Máy chủ RADIUS tìm khóa dùng chung của station ở nơi lưu
trữ các chứng nhận. Máy chủ gửi thông báo trả lời (lời mời) cho station (ví dụ như: Here is something encrypted with your public key. Decrypt it with your private key, perform a function on it and then return it encrypted with my public key- Có một số khóa được mã hóa với khóa dùng chung của bạn. Giải mã với khóa riêng của bạn, thực hiện chức năng trên nó và trả về sau khi đã được mã hóa với khóa dùng chung của tôi).
Bước 5. Station trả lời thông báo (lời mời) trên.
Bước 6. Nếu máy chủ RADIUS chấp nhận, khóa MK thỏa thuận giữa
station và máy chủ RADIUS được tạo lập và nó được gửi một cách đảm bảo từ máy chủ RADIUS tới station.
Bước 7. Cả máy chủ RADIUS và station đều tạo PMK từ MK.
Bước 8. Máy chủ RADIUS chuyển PMK đến AP.
Bước 9. Station và AP sử dụng PMK và phương thức bắt tay phía thứ 4
để nhận (không phải truyền) kết nối và xác minh PTK. TEK là một phần của PMK thường được sử dụng trong phiên này để mã hóa truyền thông giữa station và AP.
Bước 10. AP sử dụng bắt tay phía thứ 4 khác, KEK một phần của PTK
để mã hóa GTK và gửi nó cho station.
Bước 11. Quá trình xử lý chứng thực được hoàn thành, AP cho phép
Các khóa phiên này có thể được làm mới tự động, đây là sự cải tiến lớn trong sử dụng khóa so với WEP. AP có thể cấu hình lại để phá vỡ liên kết với các station để chứng thực lại khi thấy không bình thường.
Với phương thức PSK, một khóa điều khiển thường được thiết lập trong mỗi thiết bị của hệ thống mạng không dây. PSK được sử dụng trực tiếp như PMK. WPA với chứng thực PSK được định nghĩa cho mạng không dây trong các văn phòng nhỏ thì không cần có máy chủ chứng thực, nhưng vẫn muốn có các chức năng mà WPA hơn WEP. Một station được chứng thực để sử dụng.
TKIP vẫn sử dụng IV như RC4 trong cấu trúc để thực hiện trên một số thiết bị phần cứng đá được định nghĩa cho giao thức WEP. Tuy nhiên IV được sử dụng khác so với WEP. IV được mở rộng tới 48 bit và được sử dụng như một bộ đếm tuần tự TKIP (TKIP Sequence Counter - TSC). 16 bit đầu của TSC được lưu trữ trong trường WEP IV, 32 bit được lưu trữ trong một trường như là trường mở rộng của IV. Kết quả trả về đơn vị dữ liệu giao thức được mở rộng để cung cấp thêm trường cộng vào. 48 bit TSC là bộ đếm tăng dần được cài đặt để khóa thời gian TKIP được thiết lập hoặc thay đổi. Mỗi frame nhận được đều phải có một TSC lớn hơn TSC trong frame nhận được trước đó (từ cùng người gửi). Khóa này cung cấp chế độ bảo vệ chống tấn công trở lại. Những trạng thái trong chuẩn 802.11i mà TSC trống là trạng thái kết thúc, quá trình truyền thông phải kết thúc hay một khóa tức thời mới được thiết lập, như dùng lại TSC có nghĩa là dùng lại khóa (tuy nhiên các frame được truyền lại với cùng một khóa thì không ảnh hưởng gì đến vấn đề bảo mật). Tuy nhiên không giống như 24 bit IV của WEP, TSC có 48 bit. Tức là trên 280 triệu frame có thể gửi trước khi tất cả các giá trị TSC bị dùng lại cho một khóa tức thời đơn. Ví dụ với một AP hoạt động với tốc độ 54Mbps gửi liên tục các gói tin, mỗi gói có dung lượng 1500 byte thì khoảng gần 2000 năm mới tới giá trị kết thúc TSC trống.
54x106/8 = 6750000 byte /s 6750000/1500 = 4500 frame /s
248/4500 = 1983 năm
Không giống WEP, khi khóa được thiết lập bởi sự kết hợp 24 bit IV với 40 hay 140 bit khóa bí mật, TKIP thường có 2 giai đoạn với chức năng trộn khóa để tạo ra khóa:
- Giai đoạn thứ nhất: kết hợp khóa tức thời (từ hệ đẳng cấp khóa) địa chỉ
truyền và 48 bit TSC, để tạo ra 80 bit TKIP- địa chỉ truyền và khóa (TKIP-mixed transmit address and key: TTAK).
- Giai đoạn thứ hai: kết hợp 80 bit TTAK với khóa tức thời và TSC, trả về
khóa cuối cùng 128 bit được sử dụng để mã hóa trong frame hiện tại. Kết quả này nằm trong khóa của gói tin, không giống với WEP sử dụng khóa chia sẻ tĩnh, chức năng trộn khóa này sẽ được mô tả nhiền hơn ở phần sau.
TKIP có mã toàn vẹn dữ liệu 64 bit (Message Integrity Code - MIC) được gọi là Michael, để bảo vệ thông điệp không bị sửa đổi trên đường truyền. MIC được tính toán ở đích và nguồn. Khóa MIC (Khóa chứng thực nguồn gốc dữ liệu theo thời gian của PTK) được sử dụng để mã hóa MIC. Trạng thái trong chuẩn 802.11 kể từ khi TKIP được dùng để bổ sung cho các thiết bị phần cứng đã tồn tại được thiết kế cho WEP, MIC không được đưa ra để chống lại sự giả mạo thông tin mà dùng để phát hiện ra các hoạt động tấn công (không giống với ICV của WEP) và có thể có biện pháp đối phó, ngăn cản tấn công sâu hơn. ICV của WEP vẫn được sử dụng cùng với MIC để ngăn chặn lỗi, phát hiện các lỗi của MIC, và đưa ra các biện phát đối phó.
Hình 2.14 Quá trình mã hóa của WPA
Có thể mô tả quá trình mã hóa của WPA theo sơ đồ trên như sau:
Bước 1. TKIP tính toán khóa MIC và thêm nó vào trong dữ liệu.
Bước 2. TKIP gán và tăng giá trị của TSC trong frame
Bước 3. Khóa mã hóa được thiết lập để sử dụng cho 2 quá trình trộn
khóa.
Bước 4. Khóa mã hóa (có thể xem giống như khóa IV và RC4 của
WEP), dữ liệu thực đã gắn thêm MIC được chuyển tới WEP theo đúng qui cách
Bước 5. WEP sinh ra một ICV, được tính toán trên dữ liệu thực và
MIC, sau đó thêm vào dữ liệu thực sau MIC.
Bước 6. Frame được mã hóa bởi cơ chế WEP, và gửi đi.
Khi bên nhận nhận được frame này sẽ từng bước giải mã theo sơ đồ hình 2.15
Bước 1. TKIP trích TSC, nếu không đúng (nhỏ hơn hoặc bằng giá trị
hiện tại của bộ đếm của bên nhận) thì frame sẽ bị loại bỏ.
Bước 2. Khóa WEP được tạo lập và sử dụng trong 2 quá trình trộn
khóa, và đại diện cho khóa IV và RC4 của WEP. Khóa này được chuyển đến bộ máy của WEP để giải nén frame.
Bước 3. WEP kiểm tra ICV, nếu hợp lệ, MIC sẽ được tính toán trên frame và so sánh với MIC trong frame nhận được, nếu khác thì frame bị loại bỏ và các biện pháp đối phó được tiến hành. Ngược lại frame được chuyển đến tầng cao hơn.
Hình 2.15 Quá trình giải mã của WPA
Khi xuất hiện lỗi MIC, trong vòng 60 giây của lỗi MIC liền trước đó, thì tiếp theo sẽ diễn ra như sau:
- Tất cả các station/các yêu cầu chứng thực, tự chúng sẽ phải chứng thực
lại.
- AP/Bộ chứng thực chứng thực lại tất cả các station/yêu cầu chứng thực
đã kết nối với nó và không nhận các kết nối mới trong ít nhất 60 giây sau lỗi MIC thứ 2.
- Tất cả các thiết bị đều ngừng truyền thông và nhận frame đã được mã
hóa TKIP trong ít nhất 60 giây sau lỗi MIC thứ 2. Trong thời gian này, chỉ cho phép các thiết bị gửi và nhận thông điệp 802.1x.
Hệ thống có thể trở lại hoạt động bình thường ít nhất là 60 giây sau lỗi MIC thứ 2. Để ngăn chặn các trường hợp này, thường là thông báo tấn công dịch vụ (sau đó các thiết bị dừng nhận và gửi trong một thời gian ngắn, phải chứng thực lại và kết nối lại với AP), MIC được kiểm tra. Bất kỳ frame nào không có giá trị ICV phù hợp và TSC được hủy bỏ trước khi MIC được chứng thực. Để đảm bảo ICV không bị nhiễu và lỗi truyền thông.
WPA khắc phục các nhược điểm của WEP bằng TKIP đáng tin cậy và toàn vẹn dữ liệu và 802.1x cho việc chứng thực. Vấn đề chính của WEP là dùng lại khóa vì kích thước của IV nhỏ. Vấn đề này được khắc phục bời TSC. TSC cũng cung cấp khả năng bảo vệ chống tấn công, thường các khóa bí mật dùng chung không dài hơn khóa mã hóa, nên hệ đẳng cấp khóa được thiết lập. Ví dụ nếu PSK được sử dụng, nó là khóa đa năng sinh ra khóa tức thời (được chuyển đổi từ PSK), được sử dụng để mã hóa. Hệ đẳng cấp khóa cũng cung cấp bậc của điều khiển khóa, như các khóa được sử dụng để mã hóa được chuyển đổi từ các khóa cao hơn trong hệ đẳng cấp. Các khóa tầng cao hơn cũng linh hoạt nhưng chúng chỉ hợp lệ cho phiên liên quan. Bổ sung thêm MIC và khả năng đối phó làm hoàn chỉnh hơn khả năng bảo mật chống giả mạo tấn công và sửa đổi thông điệp. Chứng thực được cải thiện với PSK cho các hệ thống mạng nhỏ và 802.1x cho các hệ thống mạng lớn.
WPA đưa ra một vài bổ sung. Nó yêu cầu một chương trình nhỏ cho phép nâng cấp trên tất cả các thiết bị WEP trong hệ thống. Các thiết bị phần cứng cũ có thể không cung cấp WPA được, WPA có thể cũng không tương thích với một số hệ thống hoạt động mà không chứa yêu cầu kết nối (cần cho cả WPA và bộ chứng thực). Giống như các hệ thống mạng khác, WPA cũng có thể có điểm yếu bởi các tấn công dịch vụ. Tuy nhiên các kiểm tra hiệu lực thêm vào được sử dụng để đảm bảo hơn.