f. Điểm mạnh và điểm yếu của thuật toán RC4
2.2.1.5. Quá trình hoạt động của TKIP
Tại phía gửi, khi một khung tin được chuyển xuống cho TKIP để truyền đi, quá trình xử lý được mô tả như sau:
1. Khung tin 802.11 được đưa vào hàng đợi để gửi đi. Mỗi khung tin bao gồm phần mào đầu và phần dữ liệu. TKIP chỉ thực hiện mã hóa phần dữ liệu.
2. Mã kiểm tra MIC được tính toán dựa trên khóa bí mật. Bên cạnh dữ liệu của khung tin, MIC thực hiện tính toán bao gồm cả địa chỉ nguồn và đích.
3. Số thứ tự khung tin (TSC) được gán vào mỗi mảnh dữ liệu của khung tin (TKIP Sequence counter).
4. Dựa vào các thông tin đầu vào, TKIP thực hiện quá trình trộn khóa (key mixing). Khóa này được thay đổi liên tục theo từng frame.
5. Khung tin sẽ được nối với mã MIC ở bước 2 rồi gửi xuống tầng WEP cùng với khóa RC4 sinh ra ở bước 4 (WEP seek). WEP sẽ thực hiện việc mã hóa dữ liệu rồi gửi đi.
Hình 2.7: Quá trình gửi dữ liệu của TKIP
Hình 2.8: Cấu trúc khung tin TKIP
Tại phía nhận, sau khi nhận được khung tin mã hóa, sẽ thực hiện quá trình giải mã để lấy được dữ liệu gốc.
1. Khi giao diện không dây nhận được 1 khung tin, nó thực hiện kiểm tra toàn vẹn dữ liệu để tin chắc rằng khung tin không bị lỗi trên đường truyền. Tiếp đó khung tin được chuyển cho TKIP để kiểm tra.
2. TKIP sẽ kiểm tra số thứ tự khung tin để ngăn chặn kiểu tấn công replay.
3. TKIP thực hiện tính toán khóa WEP. Với dữ liệu đầu vào giống như bên gửi, khóa WEP sẽ được phục hồi lại để phục vụ quá trình giải mã.
4. WEP thực hiện kiểm tra mã toàn vẹn CRC. Tiếp đó, WEP sẽ thực hiện giải mã. Nếu như khung tin đã bị phân nhỏ, quá trình sẽ chờ để nhận đủ các mảnh nhỏ của khung tin trước khi kết hợp lại thành một khung tin hoàn chỉnh. Tuy vậy, việc phân mảnh khung tin ít khi được sử dụng trong chuẩn 802.11.
5. Sau khi khung tin đã được kết hợp lại (nếu cần thiết), mã MIC được tính lại trên toàn bộ nội dung khung tin, sau đó được so sánh với mã MIC được gửi kèm theo khung tin. Nếu như mã MIC không khớp, bước Phản ứng khi mã MIC sai được kích hoạt.