Quá trình trộn khóa

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu một số giải pháp an ninh trong mạng WLAN 802.11 (Trang 39 - 41)

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 bit 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.

2.2.1.4. Mã kiểm tra toàn vẹn Michael

Để thay thế cho mã kiểm tra toàn vẹn CRC vốn dễ bị tấn công, TKIP sử dụng thuật toán Michael để tạo mã toàn vẹn cho thông điệp.

Được phát triển bởi Neils Ferguson (2002) [20] với mục đích xây dựng một thuật toán tạo mã kiểm tra toàn vẹn phục vụ cho TKIP, thuật toán Michael chỉ sử dụng các phép toán bit như tráo đổi, dịch chuyển và loại trừ nên việc áp dụng không gây ảnh hưởng tới năng lực xử lý thấp của các phần cứng trước đó.

Thuật toán Michael thực hiện việc tính toán ở tầng trên trước khi khung tin được chuyển cho tầng MAC. Thuật toán sử dụng khóa có độ dài 64 bit, thực hiện tính toán trên các khối 32-bit của toàn bộ nội dung thông điệp (bao gồm cả địa chỉ nguồn và đích) (hình 2-5). Trước khi thực hiện, thuật toán sẽ nối một byte có giá trị 0x5a và từ 4 đến 7 byte có giá trị 0 vào đuôi thông điệp để đảm bảo nội dung được tính toán là bội số của 4. Sau khi tính toán, mã MIC có độ dài 8 byte, được nối vào

đuôi gói tin MSDU trước khi truyền dữ liệu đi. Dữ liệu này khi truyền đi có thể bị chia nhỏ, tuy nhiên tại phía nhận, mã MIC chỉ được tính toán khi khung tin đã được tập hợp lại.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu một số giải pháp an ninh trong mạng WLAN 802.11 (Trang 39 - 41)

Tải bản đầy đủ (PDF)

(91 trang)