Biện pháp ngăn chặn

Một phần của tài liệu phân tích kỹ thuật thâm nhập và an ninh mạng không dây wi-fi (Trang 39 - 80)

 Cải tiến, bổ sung, khắc phục những nhược điểm, lỗ hổng trong quá trình chứng thực, mã hóa của WEP bằng các nguyên lý của các hãng thứ 3 khác.

 Xây dựng các nguyên lý mới chặt chẽ hơn, phức tạp hơn và an toàn hơn

dựa trên nguyên lý của WEP.

2.1.7.1 Cải tiến trong phƣơng pháp chứng thực và mã hóa WEP

Để tăng cường tính bảo mật của WEP, tổ chức IEEE 802.11 đã đưa ra giao thức tích hợp khóa tạm thời TKPI – Temporal Key Integrity Protocol. TKIP bổ sung 2 phần chính cho WEP là:

 Kiểm tra tính toàn vẹn của bản tin (MIC-Message Integrity Check).

 Thay đổi mã khóa cho từng gói tin (Per packet keying).

2.1.7.2 Bổ sung trƣờng MIC

Giá trị kiểm tra tính toàn vẹn của bản tin MIC - Message Integrity Check được bổ sung vào 802.11 để khắc phục những nhược điểm của phương pháp kiểm tra toàn vẹn dữ liệu ICV.

 MIC bổ sung thêm số thứ tự các trường trong khung dữ liệu (AP sẽ loại

bỏ những khung nào sai số thứ tự đó), để tránh trường hợp kẻ tấn công chèn các gói tin giả mạo sử dụng lại giá trị IV cũ.

 MIC bổ sung thêm 1 trường tên là MIC vào trong khung dữ liệu để

kiểmsự toàn vẹn dữ liệu nhưng với thuật toán kiểm tra phức tạp, chặt chẽ hơn ICV.

Hình 2.9 Cấu trúc khung dữ liệu trước và sau khi bổ sung

Trường MIC dài 4 byte được tổng hợp từ các thông số theo hàm HASH:

Hình 2.10 Cấu trúc bên trong của trường MIC

Hàm băm Hash

Đây là một loại hàm mã hóa dữ liệu thỏa mãn các yêu cầu sau:

 Tóm lược mọi bản tin có độ dài bất kỳ thành một chuỗi nhị phân có độ

dài xác định.

 Từ chuỗi nhị phân này không thể tìm lại bản tin nguyên thủy ban đầu

(hàm tóm lược là hàm một chiều).

 Bất kỳ một thay đổi dù rất nhỏ ở bản tin nguyên thủy cũng dẫn đến sự

 Các hàm tóm lược này phải thỏa mãn tính chất “không va chạm” có nghĩa là với hai bản tin bất kỳ khác nhau, cùng dùng một hàm tóm lược rất khó có thể cho ra hai chuỗi tóm lược có nội dung giống nhau. Điều này rất có ích trong việc chống giả mạo nội dung bức điện.

2.1.7.3 Thay đổi mã khóa theo từng gói tin

Vì việc dùng giá trị khóa dùng chung trong một khoảng thời gian có thể bị kẻ tấn công dò ra trước khi kịp đổi nên người ta đưa ra một phương pháp là thay đổi mã khóa này theo từng gói tin. Nguyên lý thực hiện đơn giản bằng cách thay vì đưa giá trị mã khóa tới đầu vào của bộ RC4, người ta sẽ kết hợp mã khóa này với IV bằng hàm băm Hash, rồi đưa kết quả này (gọi là Mã khóa tổ hợp) tới đầu vào của bộ RC4. Vì mã RC4 thay đổi liên tục (tăng tuần tự) theo mỗi gói tin nên mã khóa tổ hợp cũng thay đổi liên tục dù mã khóa chưa đổi.

Hình 2.11 Mô tả quá trình mã hóa khi truyền đi sau khi bổ sung

Để đảm bảo hơn nữa, Cisco đưa ra quy ước là giá trị IV vẫn để tăng tuần tự nhưng AP dùng giá trị IV lẻ còn Client dùng giá trị IV chẵn như vậy

giá trị IV của AP và Client sẽ không bao giờ trùng nhau và mã khóa tổ hợp của AP và Client cũng sẽ không bao giờ trùng nhau.

2.2 Tiêu chuẩn bảo mật WPA

Để khắc phục nhược điểm của WEP, chuẩn 802.11i được xây dựng và phát triển. Giao thức WPA được nhóm Wi-Fi Alliance tạm thời thay thế cho WEP khi chuẩn 802.11i chưa được hoàn thiện, sau khi chuẩn này hoàn thiện thì giao thức bảo mật sử dụng là WPA2 (nội dung chi tiết của WPA2 sẽ được trình bày ở phần sau).

Giống như các chuẩn 802.1x WPA có chức năng chứng thực, WPA có 2 chế độ thực hiện chứng thực: IEEE 802.1x và khóa chia sẻ PSK (Pre-Shared Key). Chứng thực IEEE 802.1x là hướng vào một nhóm chứng thực cơ sở, như máy chủ RADIUS (Remote Authentication Dial-In User Service – dịch vụ người dùng quay số vào chứng thực từ xa). IEEE 802.1x sử dụng giao thức chứng thực mở rộng EAP (Extensible Authentication Protocol) như giao thức truyền thông được sử dụng cho việc chứng thực, EAP là một phương thức truyền thông chứ không phải một phương thức chứng thực. Có rất nhiều phương pháp chứng thực trong thực tế sử dụng phương thức EAP, ví dụ như thẻ chứng thực, hay mật khẩu. Một số kiểu chứng thực bảo mật phổ biến như EAP-TLS (Transport Layer Security), EAP-TTLS (Tunnelled TLS) và PEAP (Protected EAP). Phương thức bảo mật này được cấp chứng nhận X.509 và cung cấp nhiều khả năng chứng thực. IEEE 802.1x là một cổng cơ bản đối với cơ chế chứng thực. Nó thực hiện trên quan điểm của cổng điều khiển và không điều khiển. Giao thức của WLAN có thể mô tả theo mô hình sau:

Hình 2.12 Mô hình thiết lập điển hình của WLAN

Hình 2.12a: trước khi station hoàn thành chứng thực, cổng điều khiển (thường được sử dụng để truy cập và LAN) bị đóng. Hình 2.12b: sau khi station hoàn thành chứng thực, cổng điều khiển được mở, station có thể truy cập vào LAN. Hai cổng này là 2 thực thể logic và cả hai đều sử dụng kết nối vật lý đến AP và các tài nguyên khác của LAN.

Trước khi station được chứng thực, chỉ có thông tin EAPOL (EAP over LAN) là được tham gia truyền thông tới máy chủ chứng thực. Về cơ bản thì nhóm đối tượng này vẫn có thể truy cập vào mạng cho đến khi quá trình chứng thực được hoàn thành. Một station có nhu cầu chứng thực đưa yêu cầu chứng thực. AP sẽ nhận các yêu cầu chứng thực, chuyển qua bộ chứng thực cấp quyền truy cập tới nguồn tài nguyên LAN. Tuy nhiên, bộ chứng thực không nhất thiết phải có trong AP nhất định hiện có. Để sử dụng phương thức EAP, yêu cầu chứng thực được gửi tới máy chủ chứng thực (thường là máy chủ RADIUS). Tất cả các giao tiếp đều được gửi thông qua bộ chứng thực.

Một chứng thực thành công, bộ chứng thực cấp quyền truy cập tới station đã chứng thực, khi đó station có thể truy cập tới tài nguyên của LAN (Hình 2.12b)

Trong 802.1x là 802.11i, một hệ đẳng cấp khóa được định nghĩa trong quá trình xử lý chứng thực như sau:

-Khóa chính MK (Master Key), không hẳn là một khóa đối xứng riêng

PSK2 (Private Symmetric Key), mà chỉ cho một station và một máy chủ

chứng thực có thể xử lý. MK bị giới hạn trong phiên làm việc riêng giữa station và máy chủ chứng thực. MK được đề cập như khóa AAA (Authentication, Authorisation and Accounting) trong chuẩn 802.11i

-Khóa chính thông minh kết hợp PMK (Pairwise Master Key), khóa này

có thể tạo thành từ MK, hay có thể sử dụng trực tiếp PSK2. Chỉ station và máy chủ chứng thực có thể chuyển PMK từ MK. PMK bị giới hạn phiên làm việc giữa station và AP. Máy chủ chứng thực nhận PMK chỉ một lần, rồi chuyển nó tới bộ chứng thực. PMK không giống MK, AP không thể tạo lập được PMK, Một AP khác có thể tạo ra những quyết định điều khiển truy cập thay cho máy chủ chứng thực

-Khóa tức thời thông minh kết hợp PTK (Pairwise Transient Key) được

tạo lập từ PMK và phương thức bắt tay phía thứ 4 giữa yêu cầu chứng thực (station) và bộ chứng thực (AP). PTK được tạo thành từ sự lựa chọn các khóa:

+ Khóa xác thực khóa KCK (Key Confirmation Key): 128 bit, sử

dụng để xác minh trạng thái của PMK và ràng buộc PMK theo sự quan hệ của station và AP

+ Khóa mã hóa khóa KEK (Key Encryption Key): 128 bit, sử dụng

để điều phối khóa tức thời theo nhóm GTK(Group Transient Key)

+ Khóa mã hóa theo thời gian TEK (Temporal Encryption Key):

+ Khóa xác thực nguồn gốc dữ liệu theo thời gian TDOAK (Temporal Data Origin Authenticity Key): 128 bit, TKIP thường sử dụng 2 khóa 64 bit, mỗi khóa theo hướng kết nối riêng, và được sử dụng để mã hóa mã toàn vẹn thông điệp (Message Integrity Code). TKIP-MIC sẽ được mô tả sau.

GTK là khóa được AP tạo ra (ngẫu nhiên), và mã hóa nó với KEK rồi gửi cho station. Khóa GTK này được sử dụng bởi tất cả các station kết hợp với AP. Quá trình xử lý này cung cấp việc quản lý khóa bảo mật và khóa GTK là bước cuối cùng hoàn thành quá trình xử lý chứng thực.

Như trên đã giới thiệu, EAP-TLS là một ví dụ về phương pháp chứng thực quan hệ bảo mật, hình sau sẽ minh họa từng bứớc của quá trình phức tạp này:

Bước 1. Station kết hợp với AP.

Bước 2. AP khóa tất cả lưu lượng truyền từ station và yêu cầu ID của

station.

Bước 3. Station trả lời và AP chuyển thông tin đó đến máy chủ

RADIUS.

Bước 4. Máy chủ RADIUS tìm khóa dùng chung của station ở nơi lưu

trữ các chứng nhận. Máy chủ gửi thông báo trả lời (lời mời) cho station (ví dụ như: Here is something encrypted with your public key. Decrypt it with your private key, perform a function on it and then return it encrypted with my public key- Có một số khóa được mã hóa với khóa dùng chung của bạn. Giải mã với khóa riêng của bạn, thực hiện chức năng trên nó và trả về sau khi đã được mã hóa với khóa dùng chung của tôi).

Bước 5. Station trả lời thông báo (lời mời) trên.

Bước 6. Nếu máy chủ RADIUS chấp nhận, khóa MK thỏa thuận giữa

station và máy chủ RADIUS được tạo lập và nó được gửi một cách đảm bảo từ máy chủ RADIUS tới station.

Bước 7. Cả máy chủ RADIUS và station đều tạo PMK từ MK.

Bước 8. Máy chủ RADIUS chuyển PMK đến AP.

Bước 9. Station và AP sử dụng PMK và phương thức bắt tay phía thứ 4

để nhận (không phải truyền) kết nối và xác minh PTK. TEK là một phần của PMK thường được sử dụng trong phiên này để mã hóa truyền thông giữa station và AP.

Bước 10. AP sử dụng bắt tay phía thứ 4 khác, KEK một phần của PTK

để mã hóa GTK và gửi nó cho station.

Bước 11. Quá trình xử lý chứng thực được hoàn thành, AP cho phép

Các khóa phiên này có thể được làm mới tự động, đây là sự cải tiến lớn trong sử dụng khóa so với WEP. AP có thể cấu hình lại để phá vỡ liên kết với các station để chứng thực lại khi thấy không bình thường.

Với phương thức PSK, một khóa điều khiển thường được thiết lập trong mỗi thiết bị của hệ thống mạng không dây. PSK được sử dụng trực tiếp như PMK. WPA với chứng thực PSK được định nghĩa cho mạng không dây trong các văn phòng nhỏ thì không cần có máy chủ chứng thực, nhưng vẫn muốn có các chức năng mà WPA hơn WEP. Một station được chứng thực để sử dụng.

TKIP vẫn sử dụng IV như RC4 trong cấu trúc để thực hiện trên một số thiết bị phần cứng đá được định nghĩa cho giao thức WEP. Tuy nhiên IV được sử dụng khác so với WEP. IV được mở rộng tới 48 bit và được sử dụng như một bộ đếm tuần tự TKIP (TKIP Sequence Counter - TSC). 16 bit đầu của TSC được lưu trữ trong trường WEP IV, 32 bit được lưu trữ trong một trường như là trường mở rộng của IV. Kết quả trả về đơn vị dữ liệu giao thức được mở rộng để cung cấp thêm trường cộng vào. 48 bit TSC là bộ đếm tăng dần được cài đặt để khóa thời gian TKIP được thiết lập hoặc thay đổi. Mỗi frame nhận được đều phải có một TSC lớn hơn TSC trong frame nhận được trước đó (từ cùng người gửi). Khóa này cung cấp chế độ bảo vệ chống tấn công trở lại. Những trạng thái trong chuẩn 802.11i mà TSC trống là trạng thái kết thúc, quá trình truyền thông phải kết thúc hay một khóa tức thời mới được thiết lập, như dùng lại TSC có nghĩa là dùng lại khóa (tuy nhiên các frame được truyền lại với cùng một khóa thì không ảnh hưởng gì đến vấn đề bảo mật). Tuy nhiên không giống như 24 bit IV của WEP, TSC có 48 bit. Tức là trên 280 triệu frame có thể gửi trước khi tất cả các giá trị TSC bị dùng lại cho một khóa tức thời đơn. Ví dụ với một AP hoạt động với tốc độ 54Mbps gửi liên tục các gói tin, mỗi gói có dung lượng 1500 byte thì khoảng gần 2000 năm mới tới giá trị kết thúc TSC trống.

54x106/8 = 6750000 byte /s 6750000/1500 = 4500 frame /s

248/4500 = 1983 năm

Không giống WEP, khi khóa được thiết lập bởi sự kết hợp 24 bit IV với 40 hay 140 bit khóa bí mật, TKIP thường có 2 giai đoạn với chức năng trộn khóa để tạo ra khóa:

- Giai đoạn thứ nhất: kết hợp khóa tức thời (từ hệ đẳng cấp khóa) địa chỉ

truyền và 48 bit TSC, để tạo ra 80 bit TKIP- địa chỉ truyền và khóa (TKIP-mixed transmit address and key: TTAK).

- Giai đoạn thứ hai: kết hợp 80 bit TTAK với khóa tức thời và TSC, trả về

khóa cuối cùng 128 bit được sử dụng để mã hóa trong frame hiện tại. Kết quả này nằm trong khóa của gói tin, không giống với WEP sử dụng khóa chia sẻ tĩnh, chức năng trộn khóa này sẽ được mô tả nhiền hơn ở phần sau.

TKIP có mã toàn vẹn dữ liệu 64 bit (Message Integrity Code - MIC) được gọi là Michael, để bảo vệ thông điệp không bị sửa đổi trên đường truyền. MIC được tính toán ở đích và nguồn. Khóa MIC (Khóa chứng thực nguồn gốc dữ liệu theo thời gian của PTK) được sử dụng để mã hóa MIC. Trạng thái trong chuẩn 802.11 kể từ khi TKIP được dùng để bổ sung cho các thiết bị phần cứng đã tồn tại được thiết kế cho WEP, MIC không được đưa ra để chống lại sự giả mạo thông tin mà dùng để phát hiện ra các hoạt động tấn công (không giống với ICV của WEP) và có thể có biện pháp đối phó, ngăn cản tấn công sâu hơn. ICV của WEP vẫn được sử dụng cùng với MIC để ngăn chặn lỗi, phát hiện các lỗi của MIC, và đưa ra các biện phát đối phó.

Hình 2.14 Quá trình mã hóa của WPA

Có thể mô tả quá trình mã hóa của WPA theo sơ đồ trên như sau:

Bước 1. TKIP tính toán khóa MIC và thêm nó vào trong dữ liệu.

Bước 2. TKIP gán và tăng giá trị của TSC trong frame

Bước 3. Khóa mã hóa được thiết lập để sử dụng cho 2 quá trình trộn

khóa.

Bước 4. Khóa mã hóa (có thể xem giống như khóa IV và RC4 của

WEP), dữ liệu thực đã gắn thêm MIC được chuyển tới WEP theo đúng qui cách

Bước 5. WEP sinh ra một ICV, được tính toán trên dữ liệu thực và

MIC, sau đó thêm vào dữ liệu thực sau MIC.

Bước 6. Frame được mã hóa bởi cơ chế WEP, và gửi đi.

Khi bên nhận nhận được frame này sẽ từng bước giải mã theo sơ đồ hình 2.15

Bước 1. TKIP trích TSC, nếu không đúng (nhỏ hơn hoặc bằng giá trị

hiện tại của bộ đếm của bên nhận) thì frame sẽ bị loại bỏ.

Bước 2. Khóa WEP được tạo lập và sử dụng trong 2 quá trình trộn

khóa, và đại diện cho khóa IV và RC4 của WEP. Khóa này được chuyển đến bộ máy của WEP để giải nén frame.

Bước 3. WEP kiểm tra ICV, nếu hợp lệ, MIC sẽ được tính toán trên frame và so sánh với MIC trong frame nhận được, nếu khác thì frame bị loại bỏ và các biện pháp đối phó được tiến hành. Ngược lại frame được chuyển đến tầng cao hơn.

Hình 2.15 Quá trình giải mã của WPA

Khi xuất hiện lỗi MIC, trong vòng 60 giây của lỗi MIC liền trước đó, thì tiếp theo sẽ diễn ra như sau:

- Tất cả các station/các yêu cầu chứng thực, tự chúng sẽ phải chứng thực

lại.

- AP/Bộ chứng thực chứng thực lại tất cả các station/yêu cầu chứng thực

đã kết nối với nó và không nhận các kết nối mới trong ít nhất 60 giây sau lỗi MIC thứ 2.

- Tất cả các thiết bị đều ngừng truyền thông và nhận frame đã được mã

hóa TKIP trong ít nhất 60 giây sau lỗi MIC thứ 2. Trong thời gian này, chỉ

Một phần của tài liệu phân tích kỹ thuật thâm nhập và an ninh mạng không dây wi-fi (Trang 39 - 80)

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

(80 trang)