Quá trình trộn khóa

Một phần của tài liệu hỗ trợ xác thực an toàn cho ieee 802.11 (Trang 38 - 39)

Để đảm bảo mỗi khung tin được truyền đi được mã hõa bởi một khóa RC4 duy nhất, TKIP thực hiện quá trình trộn khóa. Quá trình này sử dụng TKIP IV, địa chỉ nguồn và khóa phiên theo thời gian. Địa chỉ nguồn của khung tin được đưa vào quá trình trộn khóa nhằm mục đích đảm bảo rằng nếu hai khung tin có cùng một TKIP IV thì vẫn được mã hóa bởi hai khóa RC4 khác nhau.

Hình 2-4. Quá trình trộn khóa

Theo như hình vẽ, TKIP chia quá trình trộn khóa ra làm hai pha (Phụ lục 2). Nguyên do là bởi năng lực xử lý thấp của các thiết bị không dây hỗ trợ WEP.

Pha thứ nhất lấy địa chỉ MAC nguồn, 128-bit khóa phiên theo thời gian, và 32 bit đầu của TKIP IV để sinh ra một giá trị 80 bit. Quá trình tính toán này chỉ sử dụng các phép toán như cộng, dịch chuyển bit (shift) và XOR để làm giảm khối lượng tính toán. Kết quả là giá trị sinh ra từ pha này là một hằng số khi 32 bit đầu của TKIP IV là một hằng số. Do vậy, sau 216 = 65.536 khung tin pha thứ nhất mới cần phải thực hiện lại.

Pha thứ hai của quá trình trộn khóa (ít phức tạp hơn) thực hiện việc tính toán cho mỗi khung tin được gửi đi. Pha này lấy giá trị sinh ra từ pha 1, khóa phiên theo thời gian và 16 bit cuối của TKIP IV làm giá trị đầu vào. Sau quá trình tính toán, khóa RC4 được sinh ra có độ dài 128 bit (hình vẽ 2-4). Trong đó, 16 byte thấp của TKIP IV được sử dụng để tạo ra WEP IV (24-bit). Byte giữa của WEP IV là bản sao của byte đầu trong đó hai bit thứ 4 và 5 được đặt giá trị cố định là 0 và 1. Cách làm này tránh được việc sinh ra khóa RC4 yếu, phía nhận sẽ bỏ qua byte giữa trong quá trình giải mã. Toàn bộ khóa RC4 này (bao gồm WEP IV và 104 bit khóa bí mật) được chuyển xuống cho WEP thực hiện việc mã hóa và gửi khung tin.

Một phần của tài liệu hỗ trợ xác thực an toàn cho ieee 802.11 (Trang 38 - 39)