Phương thức chứng thực và mã hóa WPA

Một phần của tài liệu Đồ án tốt nghiệp bảo mật mạng WIRELESS LAN (Trang 62 - 68)

5.3.2.1 Giới thiệu

Nhận thấy được những khó khăn khi nâng cấp lên 802.11i, Wi-Fi Alliance đã đưa ra giải pháp khác gọi là Wi-Fi Protected Access (WPA). Một trong những cải tiến quan trọng nhất của WPA là sử dụng hàm thay đổi khoá TKIP. WPA cũng sử dụng thuật toán RC4 như WEP, nhưng mã hoá đầy đủ 128 bit. Và một đặc điểm khác là WPA thay đổi khoá cho mỗi gói tin.Các công cụ thu thập các gói tin để phá khoá mã hoá đều không thể thực hiện được với WPA. Bởi WPA thay đổi khoá 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 (liên minh) 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 Enterprise. Bảng 2. So sánh WEP và WPA WEP WPA Mật mã hóa Mật mã hóa có thể bị phá bởi các hacker

Sửa chữa những điểm yếu về mật mã hóa của WEP

40 bits khóa 128 bits khóa Khóa tĩnh, dùng chung

cho tất cả mọi người

Khóa cấp phát động, riêng cho từng user, từng phiên truyền và từng gói tin. Nhập thủ công cho mỗi

thiết bị

Tự động phân phối khóa

Nhận thực Sử dụng khóa WEP cho nhận thực.

Nhận thực cao hơn sử dụng 802.1x/EAP

5.3.2.2 Thiết lập khóa bảo mật

TKIP tăng kích thước khóa từ 40bits lên 128 bits và thay thế khóa WEP đơn, tĩnh bằng cách cấp phát và phân phối tự động bởi server nhận thực. TKIP sử dụng hệ thống khóa và phương thức quản lý khóa, điều này sẽ loại bỏ khả năng dự đoán của hacker dựa trên khóa WEP.

Để làm được điều này, TKIP dựa trên cơ sở 802.1x/EAP. Server nhận thực, sau khi chấp nhận user, sử dụng 802.1x để cung cấp một khóa “pair-wise” cho phiên tính toán. TKIP phân phát khóa này cho cả client và AP dể client và AP có thể thiết lập hệ thông khóa và hệ thông quản lý sử dụng khóa “pair-wise”, để cấp phát tự động và để mã hóa dữ liệu trên từng gói tin.

TKIP có cùng kỹ thuật mã hóa và thuật toán RC4 định nghĩa cho WEP. Tuy nhiên khóa sử dụng cho mã hóa trong TKIP là 128 bit, điều này đã giải quyết vấn đề đầu tiên của WEP: độ dài khóa quá ngắn.Một điểm quan trọng nữa của TKIP là nó

thay đổi khóa sử dụng trên từng gói tin. Khóa được tạo ra bằng cách kết hợp nhiều yếu tố bao gồm basekey (hay còn gọi là khóa pairwise), địa chỉ MAC của trạm phát và số thứ tự gói tin. Sự kết hợp này được thiết kế nhằm đem lại độ dài từ khóa đủ lớn để nó không dễ dàng có thể phát hiện được.

Mỗi gói truyền sử dụng TKIP sẽ có 48 bit dành cho việc đánh số thứ tự, cái này sẽ tăng lên theo mỗi gói mới được truyền và được sử dụng như là một vector khởi tạo và là một phần của khóa. Việc đưa số thứ tự gói tin vào khóa để đảm bảo rằng khóa sẽ khác nhau cho mỗi gói tin. Điều này đã giải quyết được vấn đề gặp phải với WEP đó là “collision attack”, khi một khóa được sử dụng cho hai gói tin khác nhau. Sử dụng số thứ tự của mỗi gói tin cũng là vector khởi tạo sẽ khắc phục được một nguy cơ tấn công nữa gặp phải với WEP là “replay attack”. Với 48 bit dùng để đánh số thứ tự gói, sẽ mất hàng nghìn năm để nó lặp lại.

Điểm quan trọng cuối cùng mà cũng là điểm quan trọng nhất, một phần được trộn vào trong khóa TKIP là base-key, không giống như WEP, khóa này là cố định và được tất cả các user trong mạng Wireless LAN biết đến. TKIP phát base-key và được trộn vào trong từng gói tin. Mỗi thời điểm client giao tiếp với AP, một khóa base-key mới được sinh ra. Khóa này được xây dựng dựa trên sự xáo trộn một vài số ngẫu nhiên được phát ra bởi AP và Client với địa chỉ MAC của AP và Client, và được truyền qua một phiên truyền bí mật. Với 802.1x, phiên truyền bí mật này là duy nhất và được truyền tin cậy tới client bởi server nhận thực. Khi sử dụng TKIP với Pre-Shares Key (PSK), phiên bí mật này giống nhau cho tất cả mọi user và không bao giờ thay đổi. Do đó vẫn tồn tại nguy hiểm khi sử dụng PSK.

MIC được thiết kế để chống lại kiểu tấn công bằng cách thu thập các gói dữ liệu, thay đổi và gửi lại chúng. MIC cung cấp một thuật toán mạnh giúp bên thu và bên phát có thể tính toán và so sánh MIC. Nếu không trùng nhau, dữ liệu được coi là giả mạo và bị hủy bỏ.

Bằng cách mở rộng kích thước khóa, số lượng khóa sử dụng, và tăng cơ chế kiểm tra độ toàn vẹn dữ liệu, TKIP đã tăng độ phức tạp và khó khăn trong việc giải mã dữ liệu. TKIP đã tăng độ dài và độ phức tạp của mật mã hóa trong Wireless

LAN, làm cho nó trở nên khó hơn và là không thể cho các hacker có thể truy nhập vào mạng. TKIP không chỉ được thiết kế để triển khai trên các thiết bị Wireless LAN đã tồn tại mà còn được tích hợp và các thiết bị WPA2.

Quá trình này được gọi là mỗi khóa trộn gói và được thể hiện trong hình.

Hình 28. Mã hóa TKIP

Trong giai đoạn một, phiên mã hóa dữ liệu chính là "kết hợp" với trật tự cao 32bit của IV và địa chỉ MAC. Kết quả từ giai đoạn này là "kết hợp" với thứ tự thấp hơn 16 bit của IV và cho vào giai đoạn hai, tạo ra các 104-bit mỗi gói dữ liệu quan trọng. Có rất nhiều tính năng quan trọng cần lưu ý trong quá trình này:

a. Nó giả định việc sử dụng một 48-bit IV.

b. Kích cỡ của khoá mật mã vẫn là 104 bit, vì thế làm cho nó tương thích với WEP. c. Kể từ khi tạo ra một gói dữ liệu quan trọng liên quan đến mỗi một hoạt động chuyên sâu cho các bộ vi xử lý MAC nhỏ trong phần cứng WEP hiện có, các quá trình được chia làm hai giai đoạn. Các chuyên sâu một phần được thực hiện trong giai đoạn một, trong giai đoạn hai là ít hơn nhiều tính toán chuyên sâu.

d. Kể từ giai đoạn một liên quan đến trình tự cao 32 bit của IV, nó cần phải được thực hiện chỉ khi một trong những thay đổi bit; đó là một lần trong mỗi 65.536 gói.

e. Chức năng trộn khóa làm cho nó rất khó khăn cho những người nghe trộm thông tin trong mạng. IV và chìa khóa cho mỗi gói được sử dụng để mã hóa các gói dữ liệu.

5.3.2.3 Chứng thực người dùng

Khi chúng ta nói trong phần trước, 802.11i xác định hai kiến trúc an ninh khác biệt. Đối với mạng gia đình, 802.11i cho phép cấu hình bằng tay của các phím giống như WEP. Cho mạng doanh nghiệp, tuy nhiên, 802.11i xác định sử dụng của IEEE 802.1X thành lập chính. Chúng ta chỉ tóm tắt các kiến trúc 802.1X trong phần này. 802.1X là kiến trúc chặt chẽ dọc theo dòng EAPoL. Cổng điều khiển chỉ mở khi các thiết bị kết nối đến nhận thực đã được ủy quyền bởi 802.1x. Mặt khác, không kiểm soát được cổng cung cấp một đường dẫn cho các giao thức xác thực mở rộng, lưu lượng truy cập qua mạng LAN. (adsbygoogle = window.adsbygoogle || []).push({});

EAP mạng xác định ba yếu tố: yêu cầu nhận thực, nhận thực và các xác thực máy chủ. Đối với EAP qua mạng LAN, người sử dụng cuối cùng là yêu cầu xác thực, các lớp 2 (thường là Ethernet) chuyển đổi là nhận thực kiểm soát truy cập vào mạng bằng cách sử dụng cổng hợp lý, và các quyết định truy cập lấy từ máy chủ xác thực, sau khi thực hiện quá trình xác thực. Trong đó xác nhận quá trình sử dụng là yếu tố mà người quản trị mạng quyết định. EAPoL có thể dễ dàng thích nghi sẽ được sử dụng trong môi trường 802,11. STA yêu cầu nhận thực, AP là nhận thực kiểm soát truy cập mạng, và có một máy chủ xác thực phụ trợ.

Tuy nhiên có một mảnh chi tiết thú vị cần quan tâm. Các 802.1X kiến trúc mang quá trình xác thực giữa yêu cầu xác thực (STA) và trả lời yêu cầu xác thực từ máy chủ.Điều này có nghĩa là chìa khóa chính được thành lập giữa máy trạm và máy chủ.

Tuy nhiên, cơ chế bảo mật và tính toàn vẹn trong kiến trúc 802,11 an ninh. Với AP kiểm soát truy cập vào mạng bằng cách sử dụng các cổng logic. được thực hiện giữa AP và các STA. Điều này có nghĩa rằng các phiên (PTK) và mỗi khóa gói tin là cần thiết tại STA và AP. STA đã có PMK và có thể lấy được các PTK và các khóa của mỗi gói. Vì vậy, những gì cần thiết là một cơ chế để PMK lấy từ máy chủ xác thực cho AP an toàn.

5.3.2.4 Tính bảo mật

Như chúng ta đã tìm hiểu ở phần trước bảo mật sử dụng WEP là một lỗ hổng mà dòng mã trong môi trường dễ bị mất gói. Để làm việc xung quanh vấn đề này, WEP thiết kế thay đổi mật mã cho mỗi gói.

Đơn giản chỉ cần tăng độ dài sẽ IV, tuy nhiên, không phải làm việc với WEP hiện có tăng tốc phần cứng. Hãy nhớ rằng hiện WEP gia tốc phần cứng mong đợi a 24-bit IV như là một đầu vào để tiếp theo với một khóa (40/104-bit) để tạo ra cho mỗi gói dữ liệu quan trọng (64/128-bit). Phần cứng này không thể được nâng cấp để đối phó với 48-bit IV và tạo ra một mã khóa 88/156-bit.

5.3.2.5 Lỗ hổng của WPA

Phiên bản PSK của WPA có thể bị xâm nhập theo cách tấn công từ điển ngoại tuyến (offline dictionary attack) bởi vì việc việc quảng bá thông tin cần phải tạo và kiểm tra khóa phiên. Trong WPA, khóa PMK được sinh ra bằng cách sử dụng một hàm đặt biệt dựa trên hai thông tin là preshared pass phrase và SSID. Cả máy tính và AP sử dụng PMK này, kết hợp với địa chỉ MAC và số lần vào mạng để tạo ra PTK (session key) và cài đặt nó ở cả máy tính lẫn AP.Chúng ta sẽ tìm hiểu cách tạo ra PMK và PTK bằng mã giả, trong đó PBKDF2 và PRF-512 là những thuật

toán phát sinh khóa dựa trên những khóa đã được băm. Nó sẽ được băm 4096 lần và có độ dài 256 bit.

Và như ta đã biết, SSID lại rất dễ bị lấy cắp và ta chỉ cần đoán passphrase để tìm PMK. Trong thuật toán kế tiếp, PTK được sinh ra bằng cách dùng lại kết quả PMK, và người dùng dễ dàng tìm được các giá trị còn lại. Bước đầu tiên trong quá trình bắt tay 4 lần cung cấp Anonce và AP_MAC trong khi bước thứ hai cung cấp Snonce và Client MAC, và chữ ký của PTK được sinh ra. PTK tổng cộng chứa đến 4 khóa: Key Confirmation Key (CKC), Key Encryption Key (KEK), Temporal Key 1, và Temporal Key 2. Sau khi nhận gói tin thứ nhất của quá trình bắt tay 4 lần, client sẽ sinh ra PTK và sử dụng thuật toán MD5 dựa trên gói tin CKC và EAP được gửi đi.

Kết quả đã băm này được gắn vào trong gói tin EAP và gửi trên mạng trong bước thứ 2. Bây giờ, hacker có thể tận dụng phần được băm của gói tin và so sánh nó với kết quả băm mà anh ta đã đoán trong các gói tin EAP mà hacker đã lắng nghe, passphrase được dự đoán đúng sẽ sinh ra kết quả hash giống như chữ ký. Kế tiếp, hacker lại lắng nghe các gói tin EAPOL và thực hiện tấn công bằng từ điển ngoại tuyến. Cách tấn công này không thể thực hiện được khi người dùng đã đăng nhập vào mạng. Do đó, trong trường hợp có máy tính bị rớt mạng và quá trình thiết lập lại kết nối diễn ra, khi đó hacker có thể thu thập các gói dữ liệu cần thiết để xâm nhập.

Một phần của tài liệu Đồ án tốt nghiệp bảo mật mạng WIRELESS LAN (Trang 62 - 68)