Phương thức chứng thực và mã hóa dữ liệu

Một phần của tài liệu BÁO CÁO THỰC TẬP-trình bày những hiểu biết về WLAN (Trang 51)

4.2.2.1.1 Giới thiệu

WEP (Wired Equivalent 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ư 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 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ấn đề mã hóa dữ liệu được ư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ệ.

4.2.2.1.2 Phương thức chứng thực

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 4.18 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

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.

4.2.2.1.3 Phương thức mã hóa

WEP là một thuật toán mă hóa đối xứng có nghĩa là quá trình mã hóa và giải mă đều dùng một là Khóa dùng chung - Share key, khóa này AP sử dụng và Client được cấp. Chúng ta làm quen với một số khái niệm sau:

- Khóa dùng chung - Share key: Đây là mã khóa mà AP và Client cùng biết và sử dụng cho việc mã hóa và giải mã dừ liệu. Khóa này có 2 loại khác nhau về độ dài là 64 bit và 128 bit. Một AP có thể sử dụng tới 4 Khóa dùng chung khác nhau, tức là nó có làm việc với 4 nhóm các Client kết nối tới nó.

Hình 4.17 Cài đặt mã khóa dùng chung cho WEP

- Vector khởi tạo IV - Initialization Vector: Đây là một chuỗi dài 24 bit, được tạo ra một cách ngẫu nhiên và với gói tin mới truyền đi, chuỗi IV lại thay đổi một lần. Có nghĩa là các gói tin truyền đi liền nhau sẽ có các giá trị IV thay đối khác nhau. Vì thế người ta còn gọi nó là bộ sinh mã giả ngẫu nhiên PRNG - Pseudo Random Number Generator. Mã này sẽ được truyền cho bên nhận tin (cùng với bản tin đã mã hóa), bên nhận sẽ dùng giá trị IV nhận được cho việc giải mã.

- RC4: chữ RC4 xuất phát từ chữ Ron’s Code lấy từ tên người đã nghĩ ra là Ron

Rivest, thành viên của tổ chức bảo mật RSA. Đây là loại mã dạng chuỗi các ký tự được tạo ra liên tục (còn gọi là luồng dừ liệu). Độ dài của RC4 chính bàng tổng độ dài của Khóa dùng chung và mã IV. Mã RC4 có 2 loại khác nhau về độ dài từ mã là loại 64 bit và 128 bit.

Hình 4.19 Mã hóa khi truyền đi

Khóa dùng chung và vector khởi tạo IV-Initialization Vector (một luồng dừ liệu liên tục) là hai nguồn dữ liệu đầu vào của bộ tạo mã dùng thuật toán RC4 đê tạo ra chuỗi khóa (key stream) ngẫu nhiên một cách liên tục. Mặt khác, phần nội dung bản tin được bố xung thêm phần kiểm tra CRC để tạo thành một gói tin mới, CRC ở đây được sử dụng nhằm kiểm tra tính toàn vẹn của dữ liệu (ICV - Intergrity Check Value), chiều dài của phần CRC là 32 bit ứng với 8 bytes. Gói tin mới vẫn có nội dung ở dạng chưa mã hóa (plain text), sẽ được kết hợp với chuỗi các khóa key stream theo thuật toán XOR để tạo ra một bản tin đã được mã hóa - cipher text. Bản tin này và chuỗi IV được đóng gói thành gói tin phát đi.

Giải mã khi nhận về

Hình 4.20 Mô tả quá trình giải mã khi nhận về

Quá trình giải mã cũng thực hiện tương tự như theo các khâu tương tự của quá trình mã hóa nhưng theo chiều ngược lại. Bên nhận dùng Khóa dùng chung và giá trị IV (tách được từ bản tin) làm 2 đầu vào bộ sinh chuỗi mã RC4. Chuồi khóa do RC4 tạo ra sê kết hợp XOR với Cipher Text đe tạo ra Clear Text ở đầu ra, gói tin sau khi bỏ phần CRC sẽ còn lại phần Payload, chính là thông tin ban đầu gửi đi. Quá trình giải mã cũng chia bản tin thành các khối như quá trình mã hóa.

4.2.2.1.4 Biểu diễn toán học quy trình mã hóa và giải mã WEP

- Gọi Z là kết quả sau khi thực hiện mã hóa RC4 túc là Z = RC4(Key, IV). Gọi phần dữ liệu chưa mã hóa lúc đầu là P (gồm CRC và Packet)

Dữ liệu sau khi mã hóa là C, ta có C = P  Z.

- Như vậy phía phát sẽ truyền đi gói tin gồm có mã IV và chuồi C. - Ở phía thu sẽ tách riêng IV và C.

- Xây dựng giá trị Z theo công thức Z = RC4(Key, IV) giống như ở bên phát. - Sau đó tìm lại P theo công thức:

C  Z = ( P  Z )  Z = P  ( Z  Z ) = P.

- Như đã đề cập ở trên về khả năng giá trị IV lặp lại giống nhau, khi kẻ tấn công bắt được các gói tin đã mã hóa và tìm được các cặp gói tin có mã IV giống nhau thì quá trình bẻ khóa sẽ như sau:

+ Vì 2 gói tin cùng dùng một mã khóa chung, lại có IV giống nhau vì vậy giá trị z cũng sẽ giống nhau Z = RC4(Key, IV).

+ Giả sử gói tin thứ nhất có chứa thông tin mã hóa là C tức là C = P  Z. Giả sử gói tin thứ hai có chứa thông tin mã hóa là C’ tức là C’ = P’  Z. + Kẻ tấn công bắt được cả hai gói tin đã mã hóa là C và C’

+ Nếu thực hiện phép toán CC’ thì sẽ được kết quả là

C  C’ = (P  Z)  (P’  Z) = (P  P’)  (Z  Z) = P  P’ + Vì biết C và C’ nên sẽ biết giá trị P  P’

+ Nếu biết được P thì sẽ suy ra P’, cùng với C và C’ tính ra được Z = C  P. + Biết Z, có IV, có thể dò ra được giá trị Key bằng các thuật toán giải mã RC4.

4.2.2.1.5 Ưu điểm, hạn chế và giải pháp đối với WEP

Ưu điểm

Khi chọn giải pháp an ninh cho mạng không dây, chuẩn 802.11 đưa ra các yêu cầu sau mà WEP đáp ứng được:

- Có thể đưa ra rộng rãi, triển khai đơn giản. - Mã hóa mạnh.

- Khả năng tự đồng bộ.

- Tối ưu tính toán, hiệu quả tài nguyên bộ vi xử lý. - Có các lựa chọn bổ xung thêm.

Hạn chế

Do WEP sử dụng RC4, một thuật toán sử dụng phương thức mã hóa dòng (stream cipher), nên cần một cơ chế đảm bảo hai dữ liệu giống nhau sẽ không cho kết quả giống nhau sau khi được mã hóa hai lần khác nhau. Đây là một yếu tố quan trọng trong vấn đề mã hóa dữ liệu nhằm hạn chế khả năng suy đoán khóa của hacker. Để đạt mục đích trên, một giá trị có tên Initialization Vector (IV) được sử dụng để cộng thêm với khóa nhằm tạo ra khóa khác nhau 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. 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.

Cách sử dụng giá trị IV là nguồn gốc của đa số các vấn đề với WEP. Do giá trị IV được truyền đi ở dạng không mã hóa và đặt trong header của gói dữ liệu 802.11 nên bất cứ ai lấy được dữ liệu trên mạng đều có thể thấy được. Với độ dài 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 (va chạm IV), hacker có thể bắt gói dữ liệu và tìm ra được khóa WEP. Thêm vào đó, một trong những mối nguy hiểm lớn nhất là những cách tấn công dùng hai phương pháp nêu trên đều mang tính chất bị động. Có nghĩa là kẻ tấn công chỉ cần thu nhận các gói dữ liệu trên đường truyền mà không cần liên lạc với Access Point. Điều này khiến khả năng phát hiện các tấn công tìm khóa WEP đầy khó khăn và gần như không thể phát hiện được.

Hiện nay, trên Internet đã sẵn có những công cụ có khả năng tìm khóa WEP như AirCrack , AirSnort, dWepCrack, WepAttack, WepCrack, WepLab. Tuy nhiên, để sử dụng những công cụ này đòi hỏi nhiều kiến thức chuyên sâu và chúng còn có hạn chế về số lượng gói dữ liệu cần bắt được.

Giải pháp WEP tối ưu

Với những điểm yếu nghiêm trọng của WEP và sự phát tán rộng rãi của các công cụ dò tìm khóa WEP trên Internet, giao thức này không còn là giải pháp bảo mật được chọn cho các mạng có mức độ nhạy cảm thông tin cao. Tuy nhiên, trong rất nhiều các thiết bị mạng không dây hiện nay, giải pháp bảo mật dữ liệu được hỗ trợ phổ biến vẫn là WEP. Dù sao đi nữa, các lỗ hổng của WEP vẫn có thể được giảm thiểu nếu được cấu hình đúng, đồng thời sử dụng các biện pháp an ninh khác mang tính chất hỗ trợ.

Để gia tăng mức độ bảo mật cho WEP và gây khó khăn cho hacker, các biện pháp sau được đề nghị:

• Sử dụng khóa WEP có độ dài 128 bit: Thường các thiết bị WEP cho phép cấu

hình khóa ở ba độ dài: 40 bit, 64 bit, 128 bit. Sử dụng khóa với độ dài 128 bit gia tăng số lượng gói dữ liệu hacker cần phải có để phân tích IV, gây khó khăn và kéo dài thời gian giải mã khóa WEP. Nếu thiết bị không dây chỉ hỗ trợ WEP ở mức 40 bit (thường gặp ở các thiết bị không dây cũ), cần liên lạc với nhà sản xuất để tải về phiên bản cập nhật firmware mới nhất.

• Thực thi chính sách thay đổi khóa WEP định kỳ: Do WEP không hỗ trợ phương thức thay đổi khóa tự động nên sự thay đổi khóa định kỳ sẽ gây khó khăn cho người sử dụng. Tuy nhiên, nếu không đổi khóa WEP thường xuyên thì cũng nên thực hiện ít nhất một lần trong tháng hoặc khi nghi ngờ có khả năng bị lộ khóa.

• Sử dụng các công cụ theo dõi số liệu thống kê dữ liệu trên đường truyền

không dây: Do các công cụ dò khóa WEP cần bắt được số lượng lớn gói dữ liệu và

hacker có thể phải sử dụng các công cụ phát sinh dữ liệu nên sự đột biến về lưu lượng dữ liệu có thể là dấu hiệu của một cuộc tấn công WEP, đánh động người quản trị mạng phát hiện và áp dụng các biện pháp phòng chống kịp thời.

4.2.2.2 WPA - Wifi Protected Access

Wi-Fi Alliance đã đưa ra giải pháp gọi là Wi-fi Protected Access (WPA). Một trong

Integrity Protocol). WPA cũng sử dụng thuật toán RC4 như WEP, nhưng mã hóa đầy đủ 128 bit. Và một đặc điểm khác là WPA thay đổi khóa cho mỗi gói tin. Các công cụ thu thập các gói tin để phá khóa mã hóa đều không thể thực hiện được với WPA. Bởi WPA thay đổi khóa liên tục nên hacker không bao giờ thu thập đủ dữ liệu mẫu để tìm ra mật khẩu. Không những thế, WPA còn bao gồm kiểm tra tính toàn vẹn của thông tin (Message Integrity Check). Vì vậy, dữ liệu không thể bị thay đổi trong khi đang ở trên đường truyền.

Một trong những điểm hấp dẫn nhất của WPA là không yêu cầu nâng cấp phần cứng. Các nâng cấp miễn phí về phần mềm cho hầu hết các card mạng và điểm truy cập sử dụng WPA rất dễ dàng và có sẵn. Tuy nhiên, WPA cũng không hỗ trợ các thiết bị cầm tay và máy quét mã vạch. Theo Wi-Fi Alliance, có khoảng 200 thiết bị đã được cấp chứng nhận tương thích WPA.

WPA có sẵn 2 lựa chọn: WPA Personal và WPA Enterprise. Cả 2 lựa chọn này đều sử dụng giao thức TKIP, và sự khác biệt chỉ là khóa khởi tạo mã hóa lúc đầu. WPA Personal thích hợp cho gia đình và mạng văn phòng nhỏ, khóa khởi tạo sẽ được sử dụng tại các điểm truy cập và thiết bị máy trạm. Trong khi đó, WPA cho doanh nghiệp cần một máy chủ xác

thực và 802.1x để cung cấp các khóa khởi tạo cho mỗi phiên làm việc. Trong khi Wi-fi Alliance đã đưa ra WPA, và được coi là loại trừ mọi lỗ hổng dễ bị tấn công của WEP, nhưng người sử dụng vẫn không thực sự tin tưởng vào WPA.

Có một lỗ hổng trong WPA và lỗi này chỉ xảy ra với WPA Personal. Khi mà sử dụng hàm thay đổi khóa TKIP được sử dụng để tạo ra các khóa mã hóa bị phát hiện, nếu hacker có thể dự đoán được khóa khởi tạo hoặc một phần mật khẩu, họ có thể xác định được toàn bộ mật khẩu, do đó có thể giải mã được dữ liệu. Tuy nhiên, lỗ hổng này cũng sẽ bị loại bỏ bằng cách sử dụng những khóa khởi tạo không dễ đoán (đừng sử dụng những từ như “PASSWORD” để làm mật khẩu mà thay từ “password” bởi từ passphrase hoặc sử dụng kỹ thuật hàm băm (hash function) để bảo mật mật khẩu (passwork)).

Điều này cũng có nghĩa rằng kỹ thuật TKIP của WPA chỉ là giải pháp tạm thời, chưa cung cấp một phương thức bảo mật cao nhất. WPA chỉ thích hợp với những công ty mà không truyền dữ liệu “mật” về những thương mại, hay các thông tin nhạy cảm… WPA cũng thích hợp với những hoạt động hàng ngày và mang tính thử nghiệm công nghệ.

4.2.2.3 WPA2

Một giải pháp về lâu dài là sử dụng 802.11 tương đương với WPA2, được chứng nhận bởi Wi-Fi Alliance. Chuẩn này sử dụng thuật toán mã hóa mạnh mẽ và được gọi là Chuẩn mã hóa nâng cao AES (Advanced Encryption Standard). AES sử dụng thuật toán mã hóa đối xứng theo khối Rijndael, sử dụng khối mã hóa 128 bit, 192 bit và 256 bit.

Để đánh giá chuẩn mã hóa này, Viện nghiên cứu quốc gia về Chuẩn và Công nghệ Mỹ, NIST (National Institute of Standards and Technology), đã thông qua thuật toán đối xứng này. Và chuẩn mã hóa này được sử dụng cho các cơ quan chính phủ Mỹ để bảo vệ các thông tin nhạy cảm.

Trong khi AES được xem như là bảo mật tốt hơn rất nhiều so với WEP 128 bit hoặc 168 bit DES (Digital Encryption Standard). Để đảm bảo về mặt hiệu năng, quá trình mã hóa cần được thực hiện trong các thiết bị phần cứng như tích hợp vào chip. Tuy nhiên, rất ít người sử dụng mạng không dây quan tâm tới vấn đề này. Hơn nữa, hầu hết các thiết bị cầm tay Wi-Fi và máy quét mã vạch đều không tương thích với chuẩn 802.11i.

Chương 5: Demo các phương pháp tấn công vào mạng không dây

Trong giới hạn quá trình nghiên cứu, thực tập tại Viện công nghệ thông tin, và để tạo một bước khởi đầu cho quá trình làm luận văn tốt nghiệp sắp tới, em đã tiến hành thử nghiệm các phương pháp tấn công trên giao thức WEP, bằng một số phần mềm open source, trên những cơ sở lý thuyết đã trình bày ở những phần trên. Sau đây là kết quả:

Một phần của tài liệu BÁO CÁO THỰC TẬP-trình bày những hiểu biết về WLAN (Trang 51)

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

(71 trang)