Wired Equivalent Privacy (WEP)

Một phần của tài liệu luận văn thạc sĩ bảo mật wlan và ứng dụng (Trang 41 - 44)

WEP là một thuật toán đơn giản, sử dụng bộ phát chuỗi mã ngẫu nhiên PRNG (Pseudo Random Number Generator) và dòng mã RC4. Trong vài năm, thuật toán này được bảo mật và không sẵn có, tháng 9 năm 1994, một vài người đã

đưa mã nguồn của nó lên mạng. Mặc dù bây giờ mã nguồn có sẵn, nhưng RC4 vẫn

được đăng ký bởi RSADSI. Chuỗi mã RC4 mã hóa và giải mã rất nhanh, nó rất dễ

thực hiện, và đủđơn giản để các nhà phát triển phần mềm có thể dùng nó để mã hóa các phần mềm của mình.

WEP sử dụng một khoá mã hoá không thay đổi có độ dài 64 bit hoặc 128 bit, (nhưng trừ đi 24 bit sử dụng cho vector khởi tạo khoá mã hoá, nên độ dài khoá chỉ

còn 40 bit hoặc 104 bit) được sử dụng để xác thực các thiết bịđược phép truy cập vào trong mạng và cũng được sử dụng để mã hoá truyền dữ liệu.

Rất đơn giản, các khoá mã hoá này dễ dàng bị "bẻ gãy" bởi thuật toán brute- force và kiểu tấn công thử lỗi (trial-and-error). Các phần mềm miễn phí như

Airsnort hoặc WEPCrack sẽ cho phép hacker có thể phá vỡ khoá mã hoá nếu họ thu thập đủ từ 5 đến 10 triệu gói tin trên một mạng không dây. Với những khoá mã hoá 128 bit cũng không khá hơn: 24 bit cho khởi tạo mã hoá nên chỉ có 104 bit được sử

dụng để mã hoá, và cách thức cũng giống như mã hoá có độ dài 64 bit nên mã hoá 128 bit cũng dễ dàng bị bẻ khoá. Ngoài ra, những điểm yếu trong những vector khởi tạo khoá mã hoá giúp cho hacker có thể tìm ra mật khẩu nhanh hơn với ít gói thông tin hơn rất nhiều.

Để hiểu rõ hơn hoạt động của WEP, chúng ta bắt đầu xem xét stream ciphers (dòng mã hóa), nhận xét hoạt động của nó, đồng thời so sánh với các block-ciphers (khối mã hóa).

Stream ciphers Block-ciphers

Stream ciphers mã hóa dữ liệu được sinh ra bằng một key stream từ khóa kết hợp với phép toán XOR dựa vào key-stream và dữ diệu dạng thô. Key stream có độ dài bất kỳ làm sao cho thích hợp với frame ở dạng plain-text để mã hóa. Dữ liệu cần

truyền đi sẽđược mã hóa bằng thuật toán XOR với Key-stream để ra chuỗi đã được mã hóa.

Hình 2.3:Sơđồ quá trình mã hóa WEP

Hình 2.4: Sơđồ quá trình giải mã WEP

Block ciphers giao thiệp với dữ liệu trong các khối xác định, có thể là các frame ở mọi kích thước. Block ciphers sẽ chia frame đó ra thành nhiều frame nhỏ

hơn với kích thước được xác định trước và sau đó thực thi phép XOR ở mỗi block. Mỗi block cần được xác định kích thước trước, và phần còn dư sẽ được đưa vào block có kích thước phù hợp. Chẳng hạn như một block-cipher lớn được chia thành

Điểm yếu của thuật toán này là : các kết quả được mã hóa sẽ giống nhau với

cùng 1 dữ liệu vào. Do đó, kẻ tấn công có thể thu thập tất cả các gói tin và xây dựng một từ điển mã hóa. Vì thế, cách mã hóa này cũng không an toàn.

Để vượt qua vấn đề này, các nhà nghiên cứu đề xuất 2 cách sau: + Initialization Vectors

+ Feedback modes

Initialization Vectors

Initialization Vectors (IV) được dùng để đổi key-stream. IV là một giá trị số được dựa theo khóa cơ sở trước khi key stream được thực thi. Mỗi khi IV thay đổi

thì key-stream sẽ thay đổi theo.

Gốc của IV là 24 bit, sau này tăng lên đến 40, 64, 104, 128 bit WEP key.

Cách IV gửi header ở dạng nguyên mẫu, vì thế trạm thu biết được giá trị IV và giải

mã frame. Mặc dù số bit mã hóa có thể tăng lên nhưng nó vẫn không an toàn.

Feedback Modes

Chế độ feedback điều chỉnh lại tiến trình mã hóa để ngăn chặn việc hai dữ

liệu giống nhau có kết quả mã hóa như nhau. Feedback mode thường được dùng với block ciphers, nó sẽ sinh ra một chuỗi dài block ciphers.

Chng thc bng WEP (adsbygoogle = window.adsbygoogle || []).push({});

Phương thức chứng thực của WEP cũng phải qua các bước trao đổi giữa Client và AP, nhưng nó có thêm mã hóa và phức tạp hơn

Hình 2.5: Mô tả quá trình chứng thực giữa Client và AP Các bước cụ thể như sau:

Bước 1: Client gửi đến AP yêu cầu xin chứng thực

Bước 2: AP sẽ tạo ra một chuỗi mời kết nối (challenge text) ngẫu nhiên gửi đến Client

Bước 3: Client nhận được chuỗi này này sẽ mã hóa chuỗi bằng thuật toán RC4 theo mã khóa mà Client được cấp, sau đó Client gửi lại cho AP chuỗi đã mã hóa

Bước 4: AP sau khi nhận được chuỗi đã mã hóa của Client, nó sẽ giải mã lại bằng thuật toán RC4 theo mã khóa đã cấp cho Client, nếu kết quả giống với chuỗi ban

đầu mà nó gửi cho Client thì có nghĩa là Client đã có mã khóa đúng và AP sẽ chấp nhận quá trình chứng thực của Client và cho phép thực hiện kết nối

Một phần của tài liệu luận văn thạc sĩ bảo mật wlan và ứng dụng (Trang 41 - 44)