Bảo mật mạng không dây
3.2.1. Wired Equivalent Privacy – WEP
WEP là từ viết tắt của Wired Equipvalent Privacy, nghĩa là bảo mật tương đương với mạng có dây (Wired LAN). Khái niệm này là một phần trong chuẩn IEEE 802.11. Theo định nghĩa, WEP được thiết kế để đảm bảo tính bảo mật cho mạng không dây đạt mức độ như là mạng nối cáp truyền thống. Đối với mạng LAN (định nghĩa theo chuẩn IEEE 802.3), bảo mật cho dữ liệu trên đường truyền đối với các tấn công bên ngoài được đảm bảo qua biện pháp giới hạn vật lý, tức là hacker không thể truy xuất trực tiếp đến hệ thống đường truyền cáp. Do đó chuẩn 802.3 không đặt ra vấn đề mã hóa dữ liệu để chống lại các truy cập trái phép. Đối với chuẩn 802.11, vấp đề mã hóa dữ liệu được đặt lên ưu tiên hàng đầu do đặc tính của mạng không dây là không thể giới hạn về mặt vật lý truy cập đến đường truyền, bất cứ ai trong vùng phủ sóng đều
có thể truy cập dữ liệu nếu không được bảo vệ. WEP đảm bảo sóng radio được
truyền đi sẽ được mã hóa. Việc sử dụng WEP cho tín hiệu khả quan về bảo mật mạng không dây. WEP có khả năng cung cấp tính bảo mật cho hầu hết các thiệt bị của các nhà sản xuất. Tuy nhiên, vấn đề là không có hệ thống mã hóa nào hoàn thiện. WEP cũng cho thấy một số điểm yếu như không bảo vệ các hệ thống được mở theo mặc định. WEP dùng phương pháp pre-shared key, do đó cả AP và WNIC đều phải biết được khóa đó.
• Mã hóa: WEP sử dụng hệ thống khóa đối xứng, AP và WNIC chia sẻ chung một khóa bí mật.
Không có chuẩn nào cho việc trao đổi khóa giữa AP và WNIC, do đó cách thông dụng nhất là tự cấu hình AP và WNIC với khóa bí mật. WEP sử dụng RC4 để mã hóa. RC4 là hệ thống khóa đối xứng được sử dụng nhiều trong SSL. Dữ liệu gốc được kết hợp với chuỗi bit khóa, chuỗi bit này được gia tăng kích thước để có kích thước trùng với kích thước của dữ liệu gốc, để tạo ra dữ liệu mã hóa. Dữ liệu mã hóa này được truyền di và được tách ra ở bên nhận cho ra dữ liệu gốc. Thuật toán RC4 cho phép chiều dài của khóa thay đổi và có thể lên đến 256 bytes.
• Chiều dài khóa: Chuẩn 802.11 đòi hỏi bắt buộc các thiết bị WEP phải hỗ trợ chiều dài khóa tối thiểu là 40 bit, đồng thời đảm bảo tùy chọn hỗ trợ cho các khóa dài hơn. Hiện nay, đa số các thiết
Bảo mật mạng không dây
bị không dây hỗ trợ WEP với hai chiều dài khóa 64 bit (WEP-40) và 128 bit. Ngoài ra còn có WEP 256 bit được phát triển bởi một số hãng sản xuất. WEP 256 bit dùng 128 bit để làm khóa, 24 biết IV, 232 bit còn lại là 58 ký tự hexan dùng để bảo vệ. WEP-40 sử dụng 40 bit để làm khóa và WEP- 128 bit sử dụng 104 bit. Những bit còn lại được gọi là Initialization Vector (IV). IV được sử dụng để cộng thêm với khóa nhằm tạo ra các khóa khác nhau trong mỗi lần mã hóa. IV là một giá trị có chiều dài 24 bit và được chuẩn IEEE 802.11 đề nghị (không bắt buộc) phải thay đổi theo từng gói dữ liệu. Bởi vì máy gửi tạo ra IV không theo định luật hay tiêu chuẩn, IV bắt buộc phải được gửi đến máy nhận ở dạng không mã hóa. Máy nhận sẽ sử dụng giá trị IV và khóa để giải mã gói dữ liệu. Với phương thức mã hóa RC4, WEP cung cấp tính bảo mật và toàn vẹn của thông tin trên mạng không dây, đồng thời có thể được xem như là một phương thức kiểm soát truy cập. Một máy nối mạng không dây không có khóa WEP chính xác sẽ không thể truy cập đến Access Point (AP) và cũng không thể giải mã cũng như thay đổi dữ liệu trên đường truyền. Tuy nhiên, gần đây đã có những phát hiện của giới phân tích an ninh cho thấy nếu bắt được một số lượng lớn nhất định của dữ liệu đã mã hóa sử dụng WEP và sử dụng công cụ thích hợp, có thể dò tìm được chính xác khóa WEP trong thời gian ngắn. Điểm yếu này là do lỗ hổng trong cách thức WEP sử dụng phương pháp mã hóa RC4.
Bảo mật mạng không dây
• Hoạt động: Dữ liệu gốc sẽ được đưa qua thuật toán kiểm tra toàn vẹn để khởi tạo Integrity Check
Value (ICV). 802.11 sử dụng CRC-32 bit để kiểm tra tính toàn vẹn của dữ liệu. Sau đó ICV được thêm vào phía sau dữ liệu. Initialzation Vector (IV) sẽ được tạo một cách ngẫu nhiên và thêm vào trước khóa. Cả IV và khóa được đưa vào thuật toán Key Scheduling Algorithm (KSA). KSA tạo ra một giá trị hạt nhân sẽ được PRNG sử dụng. PRNG tạo ra một chuỗi các khóa có chiều dài trùng với chiều dài của dữ liệu gốc.
Khi khóa đã được tạo ra, nó sẽ được kết hợp với dữ liệu gốc để hình thành dữ liệu đã mã hóa. IV
được tạo ra trước đó cũng được thêm vào phía trước dữ liệu đã được mã hóa cùng với header và FCS trước khi được truyền đi.
Ở bên nhận, khi nhận được dữ liệu, để lấy được khóa phải sử dụng IV. Đó là lý do tại sao IV được thêm vào phía trước dữ liệu mà không cần mã hóa. Bên nhận lấy IV và đưa qua các thuật toán KSA, PRNG để lấy chuỗi khóa. Chuỗi khóa đó sẽ được kết hợp với dữ liệu mã hóa cho ra dữ liệu gốc và ICV. Sau đó bên nhận sẽ tính một ICV mới và kiểm tra với ICV đã nhận. Nếu trùng nhau thì chấp nhận dữ liệu và bắt đầu xử lý.
Bảo mật mạng không dây
• Điểm yếu: bởi vì RC4 là mã hóa dòng nên chuỗi khóa dùng để mã hóa không
được sử dụng trùng lắp. Mục đích của IV là để đảm báo các chuỗi khóa không bị trùng lắp nhưng với độ dài chỉ 24 bit, giá trị của IV dao động trong khoảng 16.777.216 trường hợp. Những chuyên gia bảo mật tại đại học California- Berkeley đã phát hiện ra là khi cùng giá trị IV được sử dụng với cùng khóa trên một gói dữ liệu mã hóa (khái niệm này được gọi nôm na là va chạm IV), hacker
có thể bắt gói dữ liệu và tìm ra được khóa WEP. Như vậy cứ sau 16.7 triệu lần
IV sẽ được sử dụng lại. Một hệ thống lớn sẽ gửi đi rất nhiều gói tin, do việc tạo IV là ngẫu nhiên nên các IV sẽ được sử dụng lại trước khi đạt mốc 16 triệu lần hoặc sau 5000 gói tin thì có 50% khả năng có IV lặp lại. Ngoài ra, WNIC trả giá trị các IV về 0 khi khởi động lại. Nếu WNIC được khởi động lại nhiều lần, kẻ tấn công sẽ tận dụng điều này để tìm các IV trùng lấp, như vậy thời gian xảy ra hiện tượng trùng IV sẽ ngắn đi một cách đáng kể.
Nếu attacker có thông tin về dữ liệu gốc thì việc bẻ khóa WEP còn dễ dàng hơn. Attacker có thể khởi tạo một dữ liệu gốc bằng cách gửi một email hay ping tới hệ thống WEP và bắt kết quả trả về. Biết được định dạng của thông tin gửi và nhận sẽ làm tăng tỉ lệ thành công ví dụ như biết được byte đầu tiên của plaintext là gì. Một khi attacker lập được bản đồ mã hóa thì WEP sẽ sập. Khi attacker gửi đi plaintext, attacker đồng thời sẽ lắng nghe thông tin trả về từ AP và lấy được chuỗi khóa khi XOR plaintext với cyphertext. Attacker không cần phải giải mã mà chỉ cần biết chuỗi khóa là gì. Lập lại công việc trên, attacker sẽ tạo được một từ điển giải mã. Trong đó sẽ lưu lại các chuỗi khóa tương ứng với IP và khóa. Do có 224 trường hợp nên một khi đã hoàn thành từ điển thì acttacker có thể giải mã mọi thông tin. Nếu acttacker có một hệ thống mạnh thì thời gian không còn là vấn đề đối với họ. Trong trường hợp này attacker không quan tâm tới khóa, mà chỉ quan tâm tới chuỗi khóa.
Điểu yếu lớn nhất dẫn tới sự thất sủng của WEP được đưa ra vào tháng 8 năm
Bảo mật mạng không dây
2001. Scott Fluhrer, Itsik Mantin và Adi Shamir đưa ra nghiên cứu “những điểm yếu của KSA trong RC4” bao gồm cả những lý thuyết tấn công WEP. Nghiên cứu này tập trung vào IV. Do 802.11 sử dụng LLC để đóng gói nên byte đầu tiên của plaintext luôn là 0xAA (đây là byte đầu tiền của SNAP). Như đã nói việc biết được thông tin của plaintext sẽ tăng tỉ lệ thành công của attacker. Nghiên cứu cũng phân tích đến các IV yếu. Những IV yếu đó được sử dụng để tìm ra khóa RC4. Trong WEP-40 có 1,280 IV yếu và WEP-128 có số IV yếu là 4,096 IV.
• Temporal Key Integrity Protocol (TKIP)
Được phát triển bởi WPA nhầm mục đích khắc phục điểm yếu của WEP RC4. TKIP vẫn sử dụng RC4 làm phương thức mã hóa chính nhưng chỉ tạo khóa mới sau 10,000 gói tin và IV được bâm ra nhầm đảm bảo tính bảo mật. TKIP cũng sử dụng phương thức Message Integrity Check (MIC) để kiểm tra tính toàn vẹn của dữ liệu.