Quá trình mã hóa và những cơ chế chứng thực trong 802.11

Một phần của tài liệu Các giao thức bảo mật mạng không dây (Trang 42)

a. Quá trình mã hóa:

Chuẩn 802.11 cung cấp dữ liệu riêng tư cùng với thuật toán WEP. WEP dựa trên mã hóa dòng của thuật toán RC4. Tính đối xứng của RC4 yêu cầu phải phù hợp với khóa WEP, độ dài 40 bit hoặc 104 bit, và phải được cấu hình tĩnh trên thiết bị client và các AP. WEP là sự lựa chọn chủ yếu vì nó có chi phí thấp. Trong một số trường hợp, WEP là 1 thuật toán rất dễ để thực hiện, bạn có thể lập trình nó trong khoảng 30 dòng lệnh. Chi phí phát sinh thấp khiến WEP trở thành một thuật toán mã hóa lý tưởng để sử dụng trên ASDs. Để tránh chế độ ECB (loại mã hóa dữ liệu sử dụng mật mã khối) trong quá trình mã hóa, WEP sử dụng một IV 24 bit được nối với một khóa trước khi được xử lý bằng thuật toán mã hóa RC4.

Hình 2.10: Minh họa 1 khung mã hóa WEP

b. Những cơ chế chứng thực:

Chuẩn 802.11 chỉ rõ 2 cơ chế chứng thực trong WLAN là: - Chứng thực mở

- Chứng thực chia sẻ khóa

Chứng thực mở là 1 thuật toán chứng thực null. Các AP chấp nhận bất kỳ các yêu cầu chứng thực nào. Các yêu cầu xác thực chấp nhận các thiết bị để nhanh chóng truy cập vào mạng.

Chứng thực mở kiểm soát truy cập dựa trên khóa WEP đã được cấu hình săn trên client và AP. Client và AP phải kết hợp với khóa WEP để kích hoạt mới có thể giao tiếp với nhau. Nếu Client và AP không kích hoạt WEP, sẽ không có sự bảo mật tại

BSS (Basic Service set – các thiết lập dịch vụ cơ bản). Bất kỳ thiết bị nào cũng có thể kết nối đến BSS và tất cả các khung dữ liệu (data frames) được truyền đi sẽ không được mã hóa.

Sau khi quá trình chứng thực mở và quá trình kết hợp được xử lý, client có thể bắt đầu truyền và nhận dữ liệu. Nếu Client được cấu hình với 1 khóa khác với khóa trên AP, Client sẽ không thể mã hóa hoặc giải mã các khung dữ liệu 1 cách chính xác, và các khung này sẽ bị loại bỏ bởi Client và AP. Quá trình này về cơ bản giống như cung cấp 1 phương tiện để kiểm soát quyền truy cập vào BSS.

Hình 2.11: Minh họa quá trình chứng thực mở khi 2 khóa WEP khác nhau

Không như chứng thực mở, quá trình chứng thực chia sẻ khóa yêu cầu các máy trạm và các AP phải có khóa WEP đã được kích hoạt và phù hợp với nhau. Quá trình chứng thực chia sẻ khóa được tóm tắt như sau:

• Client gửi một yêu cầu xác thực chia sẻ khóa tới AP.

• AP trả lời yêu cầu của Client với 1 khung yêu cầu khác dưới dạng cleartext.

• Client tiến hành mã hóa các yêu cầu mà AP đã gửi. Sau đó gửi ngược lại cho AP.

• Nếu AP có thể giải mã chính xác những khung yêu cầu trên cũng như khôi phục lại được những yêu cầu ban đầu, client đã gửi thành công yêu cầu.

Hình 2.12: Minh họa quá trình chứng thực chia sẻ khóa 2.2.4.4 Những lỗ hổng bảo mật trong chuẩn 802.11

a. Lỗ hỗng trong quá trình chứng thực mở

Quá trình chứng thực mở không cung cấp cho AP làm thế nào để xác định Client có hợp lệ hay không. Sự thiếu sót này chính là 1 lỗ hổng bảo mật, nếu quá trình mã hóa WEP không được thực hiện trong một mạng WLAN. Thậm chí khi trạng thái WEP cho phép kết nối giữa Client và AP, quá trình chứng thực mở không cung cấp những thông tin cho việc xác định người đang sử dụng thiết bị WLAN. Chỉ cần 1 thiết bị đã được ủy quyền nào đó nằm trong tay của người sử dụng trái phép, bảo mật mạng sẽ bị đe dọa.

b. Lỗ hổng trong quá trình Chứng thực chia sẻ khóa:

Hình 2.13: Minh họa quá trình tạo khóa

Quá trình Chứng thực chia sẻ khóa yêu cầu Client phải dùng 1 khóa WEP chia sẻ chính để mã hóa đoạn text yêu cầu được gửi tư AP. AP sẽ xác nhận Client thông qua quá trình giải mã những phản hồi của khóa chia sẻ và xác nhận các đoạn text yêu cầu là như nhau. Quá trình trao đổi những đoạn text yêu cầu xuất hiện trên các liên kết không dây và là lỗ hổng được biết đến để tấn công những đoạn text đã mã hóa. Lỗ

hổng này chủ yếu dựa trên thuật toán sau khi mã hóa. Hacker có thể bắt được cả 2 đoạn văn bản yêu cầu và đoạn văn bản phản hồi đã được mã hóa. Vì chỉ cần chạy các giá trị thông qua 1 hàm XOR, hacker đã có 1 luồng khóa hợp lệ. Hacker có thể sử dụng luồng khóa này để giải mã các frame có kích thước phù hợp với luồng khóa chính, rồi đưa cho IV để tạo ra luồng khóa giống như khung mã hóa.

Hình 2.14: Minh họa lỗ hổng chứng thực chia sẻ khóa

2.2.5 WPA, WPA2

2.2.5.1 WPA (Wi-Fi Protected Access)

WEP được xây dựng để bảo vệ một mạng không dây tránh bị nghe trộm. Nhanh chóng sau đó, khi nhận thấy được những khó khăn khi nâng cấp lên chuẩn 802.11i cũng như những lổ hỗng của công nghệ này, Wi-fi Alliance đã đưa ra 1 giải pháp khác gọi là Wi-fi Protected Access (WPA), đã khắc phục được đa số những nhược điểm của WEP. Và một trong những cải tiến quan trọng nhất của WPA là hàm thay đổi khóa TKIP (Temporal Key Integrity Protocol).

WPA cũng sử dụng thuật toán RC4 như WEP nhưng mã hóa đầy đủ 128bit. Và đặc điểm khác nữa là WPA thay đổi khóa cho mỗi gói tin. Các công cụ thu thập gói tin để phá khóa mã hóa hầu như không thực hiện được với WPA. Không những thế, WPA còn bao gồm kiểm tra tính toàn vẹn thông tin. Do đó, 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à Access Point sử dụng WPA rất dễ dàng và hầu như có sẵn. Tuy nhiên, WPA không hỗ trợ các thiết bị cầm tay và máy quét mã vạch.

WPA có sẵn 2 lựa chọn là WPA Personal và WPA Enterprise. Cả 2 lựa chọn này đều sử dụng giao thức TKIP và chỉ có 1 sự khác biệt đó là khóa khởi tạo mã hóa lúc đầu. WPA Personal thích hợp cho mạng 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 Access Point và các Client. WPA Enterprise dành cho các doanh nghiệp cần có 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. Khi mà Wi-fi Alliance đưa ra WPA được coi là loại trư mọi lỗ hỗng dễ bị tấn công của WEP, người dùng vẫn chưa thực sự tin tưởng vào WPA. Có một lỗ hổng trong WPA và lỗ hỗng này chỉ xảy ra với WPA Personal. Khi 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ể đ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, tư đó có thể giải mã được dữ liệu. Tuy nhiên, lỗ hỗng này cũng dễ dàng bị loại bỏ bằng cách sử dụng những khóa khởi tạo không dễ đoán. Điều này cũng có nghĩa rằng, TKIP chỉ là giải pháp tạm thời, chưa cung cấp phương thức bảo mật cao nhất.

2.2.5.2 WPA 2

Một giải pháp về lâu dài là sử dụng 802.11i 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ã hoá mạnh mẽ và được gọi là Chuẩn mã hoá nâng cao AES(Advanced Encryption Standard). AES sử dụng thuật toán mã hoá đối xứng theo khối Rijndael, sử dụng khối mã hoá 128 bit, và 192 bit hoặc 256 bit. Để đánh giá chuẩn mã hoá này, Viện nghiên cứu quốc gia về Chuẩn và Công nghệ của Mỹ, NIST (National Institute of Standards and Technology), đã thông qua thuật toán mã đối xứng này. Và chuẩn mã hoá 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. (adsbygoogle = window.adsbygoogle || []).push({});

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ã hoá 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.

2.2.6 TKIP (Temporal Key Integrity Protocol)

2.2.6.1 Giới thiệu về TKIP

Là một phần trong chuẩn mã hóa của IEEE 802.11i, TKIP thực chất là một sự cải tiến WEP mà vẫn giữ những vấn đề bảo mật đã biết trong WEP của chuỗi dòng số RC4. TKIP cung cấp các dịch vụ để khắc phục những điểm yếu của WEP: trộn khóa để tạo mỗi khóa cho mỗi packet (per-packet key) - cung cấp cách làm rối vector khởi tạo để chống lại việc nghe lén các gói một cách thụ động; kiểm tra toàn vẹn dữ liệu (Message Integrity Check) - xác định liệu có phải một người sử dụng không hợp pháp đã sửa đổi những gói tin bằng cách chèn vào lưu lượng để có thể crack chìa khóa; và cơ chế re-keying (tạo lại khoá) - bao gồm sự sử dụng các chìa khóa động để chống lại sự ăn cắp các chìa khóa một cách bị động, một lỗ hổng lớn trong chuẩn WEP. TKIP có thể thực hiện thông qua các vi chương trình được nâng cấp cho Access Point và Bridge cũng như những phần mềm và vi chương trình nâng cấp cho thiết bị Client không dây. TKIP chỉ rõ các quy tắc sử dụng vector khởi tạo, các thủ tục tạo lại chìa khóa dựa trên 802.1x, sự trộn chìa khóa trên mỗi gói và mã toàn vẹn thông báo. Sẽ có sự giảm tính thực thi khi sử dụng TKIP, tuy nhiên bù lại là tính bảo mật được tăng cường đáng kể, nó tạo ra một sự cân bằng hợp lý.

2.2.6.2 An toàn thông tin sử dụng thuật toán Michael

Có 2 vấn đề để hỗ trợ cho việc an toàn thông tin có sẵn trong phần cứng WEP. Thứ nhất, sự ràng buộc trong quá trình tính toán không thể sử dụng 1 thuật toán toàn vẹn mạnh như HMAC-SHA-1. Thứ hai, quá trình thiết kế phải được đưa vào tài khoản MIC, mà việc thực hiện có thể là trong CPU của máy chủ và CPU chủ đó không được quyền truy cập vào MPDUs. Để giải quyết những khó khăn đó, một thuật toán mới được gọi là Michael - do Niels Ferguson thiết kế, ra đời với mục đích cung cấp việc bảo vệ toàn vẹn luồng lưu lượng của TKIP. Những mệnh lệnh ràng buộc thứ hai mà MIC bảo vệ là tại MSDU chứ không phải MPDU. (bảo vệ toàn vẹn trên cơ sở MPDU trong trường hợp của WEP và CCMP, và có hiệu quả hơn).

TKIP MIC tính toán công việc như sau. Đầu tiên, chúng có 2 khóa MIC 8 octet, mỗi 1 khóa ở một luồng lưu thông trực tiếp: 1 tư AP đến STA và 1 tư STA đến AP. Khóa MIC được tạo ra ở phần cuối của quá trình trao đổi 4 chiều (hoặc 2 chiều trong trường hợp GTK SA), tương tự như các khóa TKIP.

MIC tính toán trên SA, DA, 3 octets riêng, ưu tiên, và dữ liệu MSDU. 8 octets của MIC được nối vào dữ liệu MSDU và có thể được chia nhỏ thành nhiều MSDU cần thiết, trước khi đóng gói TKIP. Do đó, MIC sẽ mã hóa RC4 với khóa TKIP. Cuối cùng, lưu ý rằng MIC không bao gồm các TSC.

Thuật toán Michael khá đơn giản, sử dụng modulo addition, 32-bit shift operations, 16-bit word swap, and XOR operations.

2.2.6.3 Vấn đề bảo mật trong TKIP

TKIP sử dụng 1 kiểu kỹ thuật đóng gói WEP phần cứng để đạt hiệu quả trong mã hóa khung 802.11.

• Đầu tiên, nó sử dụng trao đổi 4 chiều (hoặc trao đổi 2 chiều trong GTKSA) để lấy 1 khóa cho mỗi phiên. Lưu ý rằng, việc trao đổi 4 chiều bắt đầu với 1 PMK, có thể là 1 PSK hay 1 khóa dẫn xuất hoặc chia sẻ sau khi xác thực 802.1x/EAP. STA và AP được trao đổi trong lúc này và sử dụng chúng để lấy TK. Do đó, đảm bảo rằng ngay cả khi PSK không thay đổi thì TK vẫn mới và ngẫu nhiên.

• Tiếp theo, 48 bit đơn tăng chuỗi truy cập đảm bảo rằng các IV không lặp lại trong một thời gian dài. Chú ý rằng, kể tư khi IV là 1 số thứ tự, nó không được xảy ra xung đột.

• Thứ ba, việc thiết kế TKIP bao gồm một chức năng mã hóa trộn trong phần trộn TA để lấy khóa WEP. Điều này đảm bảo rằng mặc dù các STA và AP sử dụng cùng 1 TK và IV nhưng hacker vẫn không thể truy cập vào MPDU đã đóng gói với khóa tạo ra.

• Cuối cùng, TKIP sử dụng 2 chức năng trộn để đảm bảo rằng việc sử dụng 1 khóa trong luồng lưu lượng với 1 khóa trong MPDU để giảm thiểu các lỗi trong thiết kế WEP.

2.2.6.4 Quy trình mã hóa và giải mã

a. Mã hóa

Bước 1: IV, DA (địa chỉ đích - Destination Address) và Data Encryption Key

được đưa vào hàm trộn khóa (Key mixing) để tính giá trị khóa cho mỗi packet (Per-Packet Encryption Key).

Bước 2: DA, SA (địa chỉ nguồn - Source Address), Priority, Data và Data

Integrity Key (khóa dùng để kiểm tra tính toàn vẹn dữ liệu) được đưa vào hàm Michael để tính giá trị MIC.

Bước 3: ICV được tính tư hàm CRC – 32.

Bước 4: IV và Per-Packet Key được đưa vào hàm RC4 PRNG để tạo ra key

stream có cùng kích thước với Data, MIC, ICV.

Bước 5: Thực hiện phép toán XOR giữa Key stream với bộ Data, MIC, ICV để

tạo ra bản mã, bản mã này là một phần của 802.11 payload.

Bước 6: Bổ sung IV, Ext IV tạo thành 802.11 payload hoàn chỉnh.

Bước 7: Bổ sung thành phần header và trailer tạo thành 802.11 frame.

Hình 2.15: Quy trình mã hóa packet

Bước 1: Trích giá trị IV tư trường IV, Ext, IV trong 802.11 payload, sau đó giá (adsbygoogle = window.adsbygoogle || []).push({});

trị IV, DA và Data Encryption Key được đưa vào hàm trộn khóa (Key mixing) để tính giá trị khóa cho mỗi packet (Per-Packet Encryption Key).

Bước 2: IV và Per-Packet Key được đưa vào hàm RC4 PRNG để tạo ra key

stream có cùng kích thước với Data, MIC, ICV

Bước 3: Thực hiện phép toán XOR giữa Key stream với bộ 3 bản mã Data,

MIC, ICV để tạo ra bản rõ.

Bước 4: ICV được tính tư hàm CRC – 32, so sánh giá trị ICV vưa tính với giá

trị ICV được giải mã trong bước 3. Nếu hai giá trị này không giống nhau thì dữ liệu đã bị thay đổi.

Bước 5: DA, SA, Priority, Data và Data Integrity Key được đưa vào hàm

Michael để tính giá trị MIC.

Bước 6: So sánh giá trị MIC được tính trong bước 4 với giá trị MIC được giải

mã trong bước 3. Nếu hai giá trị này không giống nhau thì dữ liệu đã bị thay đổi.

Hình 2.16: Quy trình giải mã packet

2.2.7 EAP (Extensible Authentication Protocol)

2.2.7.1 Giới thiệu về EAP

Để đảm bảo an toàn trong quá trình trao đổi bản tin chứng thực giữa Client và AP không bị giải mã trộm, sửa đổi, người ta đưa ra EAP (Extensible Authentication Protocol) – giao thức chứng thực mở rộng trên nền tảng của 802.1x. EAP là phương thức xác thực bao gồm yêu cầu định danh người dùng (password, cetificate,…), giao thức được sử dụng (MD5, TLS - Transport Layer Security, OTP - One Time Password,…) hỗ trợ tự động sinh khóa và xác thực lẫn nhau. Giao thức chứng thực mở rộng EAP hỗ trợ, đảm bảo an ninh cho trong khi trao đổi các bản tin chứng thực giữa các bên bằng các phương thức mã hóa thông tin chứng thực. EAP có thể hỗ trợ, kết hợp với nhiều phương thức chứng thực của các hãng khác nhau, các loại hình

chứng thực khác nhau. Kiến trúc EAP cơ bản được thiết kế để vận hành trên bất cứ lớp đường dẫn nào và dùng bất cứ các phương pháp chứng thực nào.

Hình 2.17: Kiến trúc EAP cơ bản

Các phương pháp EAP phát triển cho mạng không dây được dựa trên việc kiểm tra thông qua khoá công cộng và giao thức bảo mật tại lớp truyền tải (Transport Layer Security - TLS). Các giao thức đó là EAP-TLS, EAP-TTLS và PEAP.

Một phần của tài liệu Các giao thức bảo mật mạng không dây (Trang 42)