Bảo mật dữ liệu trong wlan diễn ra ở tầng 2: Tầng liên kết dữ liệu (Data Link Layer)
Dữ liệu được mã hóa
Tầng liên kết dữ liệu cung cấp các phương tiện có tính chức năng và quy trình để truyền dữ liệu giữa các thực thể mạng, phát hiện và có thể sửa chữa các lỗi trong tầng vật lý nếu có. Cách đánh địa chỉ mang tính vật lý, nghĩa là địa chỉ (địa chỉ MAC) được mã hóa cứng vào trong các thẻ mạng (network card) khi chúng được sản xuất. Hệ thống xác định địa chỉ này không có đẳng cấp (flat scheme). Chú ý: Ví dụ điển hình nhất là Ethernet. Những ví dụ khác về các giao thức liên kết dữ liệu (data link protocol) là các giao thức HDLC; ADCCP dành cho các mạng điểm- tới-điểm hoặc mạng chuyển mạch gói (packet-switched networks) và giao thức Aloha cho các mạng cục bộ. Trong các mạng cục bộ theo tiêu chuẩn IEEE 802, và một số mạng theo tiêu chuẩn khác, chẳng hạn FDDI, tầng liên kết dữ liệu có thể được chia ra thành 2 tầng con: tầng MAC (Media Access Control - Điều khiển Truy nhập Đường truyền) và tầng LLC (Logical Link Control - Điều khiển Liên kết Lôgic) theo tiêu chuẩn IEEE 802.2.
Tầng liên kết dữ liệu chính là nơi các cầu nối (bridge) và các thiết bị chuyển mạch (switches) hoạt động. Kết nối chỉ được cung cấp giữa các nút mạng được nối với nhau trong nội bộ mạng. Tuy nhiên, có lập luận khá hợp lý cho rằng thực ra các thiết bị này thuộc về tầng 2,5 chứ không hoàn toàn thuộc về tầng 2.
CHƯƠNG II: QUI TRÌNH CHỨNG THỰC TRONG WIRELESS LAN
2.1. Khái niệm EAP
Có thể bạn quan tâm!
- Nghiên giải pháp bảo mật mạng wireless dựa vào RADIUS - 1
- Nghiên giải pháp bảo mật mạng wireless dựa vào RADIUS - 2
- Cài Enterprise Ca Và Request Certificate Từ Ca Enterprite Server
- Nghiên giải pháp bảo mật mạng wireless dựa vào RADIUS - 5
- Nghiên giải pháp bảo mật mạng wireless dựa vào RADIUS - 6
Xem toàn bộ 54 trang tài liệu này.
EAP là phương thức xác thực bao gồm yêu cầu định danh người dùng (password, certificate,…), giao thức được sử dụng (MD5, TLI_Transport Layer Security, OTP_One Time Password,…) hỗ trợ tự động sinh khóa và xác thực lẫn nhau.
2.2. Quá tình chứng thực 802.1x-EAP
Wireless client muốn lien kết với một AP trong mạng.
1. AP sẽ chặn lại tất cả các thông tin của client cho tới khi client log on vào mạng. Khi đó client yêu cầu lien kết tới AP.
2. AP đáp lại yêu cầu liên kết với một yêu cầu nhận dạng EAP.
3. Client gửi đáp lại yêu cầu nhận dạng EAP cho AP.
4. Thông tin đáp lại yêu cầu nhận dạng EAP của client được chuyển tới Server chứng thực.
5. Server chứng thực gửi một yêu cầu cho phép AP.
6. AP chuyển yêu cầu cho phép tới client.
7. Client gửi trả lời sự cấp phép EAP tới AP.
8. AP chuyển sự trả lời đó tới Server chứng thực.
9. Server chứng tực gửi một thông báo thành công EAP tới AP.
10. AP chuyển thông báo thành công tới client và đặt cổng của client trogn chế độ forward.
2.3. WEP và WPA
2.3.1. Mã hóa và giải mã trong WEP
Sóng vô tuyến lan truyền trong môi trường mạng có thể bị kẻ tấn công bắt sóng được. Điều này thực sự là mối đe doạ nghiêm trọng. Để bảo vệ dữ liệu khỏi bị nghe trộm, nhiều dạng mã hóa dữ liệu đã dùng. Đôi khi các dạng mã hóa này thành công, một số khác thì có tính chất ngược lại, do đó làm phá vỡ sự an toàn của dữ liệu. Phương thức
chứng thực qua SSID khá đơn giản, chính vì vậy mà nó chưa đảm bảo được yêu cầu bảo mật, mặt khác nó chỉ đơn thuần là chứng thực mà chưa có mã hóa dữ liệu. Do đó chuẩn
802.11 đã đưa ra phương thức mới là WEP – Wired Equivalent Privacy.
WEP có thể dịch là chuẩn bảo mật dữ liệu cho mạng không dây mức độ tương đương với mạng có dây, là phương thức chứng thực người dùng và mã hóa nội dung dữ liệu truyền trên mạng LAN không dây (WLAN).
Chuẩn IEEE 802.11 ( IEEE - Institute of Electrical and Electronic Engineers ) quy định việc sử dụng WEP như một thuật toán kết hợp giữa bộ sinh mã giả ngẫu nhiên PRNG – Pseudo Random Number Generator và bộ mã hóa luồng theo kiểu RC4. Phương thức mã hóa RC4 thực hiện việc mã hóa và giải mã khá nhanh, tiết kiệm tài nguyên, và cũng đơn giản trong việc sử dụng nó ở các phần mềm khác.
Chuẩn 802.11 chủ yếu cho việc phân phát các MSDU (đơn vị dữ liệu dịch vụ của MAC) giữa các kết nối LLC (điều khiển liên kết logic ). 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.
Các bước cụ thể như sau:
1. Client gửi đến AP yêu cầu xin chứng thự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 đến Client.
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.
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.
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.
Một số khái niệm bảo mật trong WEP:
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à 40 bit và 104 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ó.
Vectorkhở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ữ Rons 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 (ứng với Khóa dùng chung 40 bit) và 128 bit (ứng với Khóa dùng chung dài 104 bit).
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) giả 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ổ sung 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 (plant 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.
Dữ liệu được đưa vào kết hợp với chuỗi mã được chia thành các khối (block), các khối này có độ lớn tương ứng với độ lớn của chuỗi mã, ví dụ nếu ta dùng chuỗi mã 64 bit
thì khối sẽ là 8 byte, nếu chuỗi mã 128 bit thì khối sẽ là 16 byte. Nếu các gói tin có kích cỡ lẻ so với 8 byte (hoặc 16 byte) thì sẽ được chèn thêm các ký tự “độn” vào để thành số nguyên lần các khối.
Bộ tạo chuỗi khóa là một yếu tố chủ chốt trong quá trình xử lý mã hóa vì nó chuyển một khóa bí mật từ dạng ngắn sang chuỗi khóa dài. Điều này giúp đơn giản rất nhiều việc phân phối lại các khóa, các máy kết nối chỉ cần trao đổi với nhau khóa bí mật. IV mở rộng thời gian sống có ích cuả khóa bí mật và cung cấp khả năng tự đồng bộ. Khóa bí mật có thể không thay đổi trong khi truyền nhưng IV lại thay đổi theo chu kỳ. Mỗi một IV mới sẽ tạo ra một seed mới và một sequence mới, tức là có sự tương ứng 1-1 giữa IV và key sequence. IV không cung cấp một thông tin gì mà kẻ bất hợp pháp có thể lợi dụng.
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 của 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 để 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.
2.3.2. Mã hóa và giải mã trong WPA
WPA là sử dụng hàm thay đổi khoá TKIP (Temporal Key Integrity Protocol). 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.
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à khoá khởi tạo mã hoá lúc đầu. WPA Personal thích hợp cho gia đình và mạng văn phòng nhỏ, khoá 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 khoá khởi tạo cho mỗi phiên làm việc.
WPA cung cấp hai yếu tố cải tiến về bảo mật như sau:
Cải tiến mã hóa dữ liệu thông qua TKIP. Temporal Key Integrity Protocol, cung cấp sự cải tiến trong mã hóa dữ liệu bằng cách trộn lẫn key đựơc sinh theo từng packet với véc tơ khởi tạo (IV) được mở rộng với những sequence counter để chống replay attack trên WEP, sau đó mới chuyển đến quy trình khởi tạo mã hóa RC4. Ngoài ra, TKIP còn hiện thực chức năng kiểm tra sự toàn vẹn thông điệp (Message Integrity Check – MIC) 64 bit với giải thuật MICHAEL.
Authenticate người dùng ở mức độ doanh nghiệp thông qua 802.1x và EAP. Framework 802.1x và EAP dùng một máy chủ authenticate tập trung, chẳng hạn như RADIUS, để authenticate mỗi người dùng trong mạng trước khi họ kết nối vào. Nó cũng sử dụng cơ chế “nhận dạng lẫn nhau” để ngăn chặn người dùng truy cập vào một mạng giả mạo có thể đánh cắp nhận dạng của họ.
Các bước cụ thể như sau:
Bước 1: AP tạo ra một số ngẫu nhiên và gửi nó cho PC.PC sau đó sử dụng một cụm từ mật khẩu cùng với số ngẫu nhiên để lấy được một mã khóa được sử dụng để mã hóa dữ liệu đến AP.
Bước 2: PC tạo 1 số ngẫu nhiên kèm với MIC (Message Integrity Code:được dùng để bảo đảm rằng dữ liệu không phải là giả mạo).
Bước 3: Để xác minh, AP sẽ gửi số ngẫu nhiên một lần nữa, mật mã bằng cách sử dụng giá trị ở bước 1.
Bước 4: Một thông điệp cuối cùng được gửi, cho biết đã có sự kết nối giữa 2 bên.
CHƯƠNG III: BẢO MẬT WLAN BẰNG PHƯƠNG PHÁP CHỨNG THỰC RADIUS
3.1. RADIUS là gì
RADIUS là một giao thức sử dụng rộng rãi cho phép xác thực tập trung, ủy quyền và kiểm toán truy cập cho mạng. Ban đầu được phát triển cho thiết lập kết nối từ xa. Radius bâu giờ thì hỗ trợ cho máy chủ VPN, các điểm truy cập không dây, chứng thực chuyển mạch internet, truy cập DSL, và các loại truy cập mạng khác. RADIUS được mô tả trong RFC 2865, "Remote Authentication Dial-in User Service (RADIUS), (IETF Draft Standard) and RFC 2866, "RADIUS Accounting" (Informational).
3.2. Quá trình trao đổi gói tin trong RADIUS
3.2.1. Xác thực cấp phép và kiểm toán
Giao thức RADIUS được định nghĩa trong RFC 2865 như sau: Với khả năng cung cấp xác thực tập trung, cấp phép và điều khiển truy cập (Authentication, Authorization và Accouting-AAA) cho các phiên làm việc với SLIP và PPP Dial-Up. Như việc cung cấp dịch vụ internet (ISP) đều dựa trên giao thức này để xác thực người dùng khi họ truy cập internet.
Nó cần thiết trong các NAS để làm việc với danh sách các username và password cho việc cấp phép, RADIUS Access-request sẽ chuyển thông tin tới một Authentication Server, thông thường nó là một AAA Server. Trong kiến trúc của hệ thống nó tạo ra khả năng tập trung các dữ liệu, thông tin của người dùng, các điều khiển truy cập trên một điểm duy nhất (single point), trong khi có khả năng cung cấp cho một hệ thống lớn, cung cấp giải pháp NASs
Khi một user kết nối, NAS sẽ gửi một message dạng RADIUS Access-request tới máy chủ AAA Server, chuyển các thông tin như Username, Password , UDP port, NAS indentifier và một Authentication message.
Sau khi nhận các thông tin AAA sử dụng gói tin được cung cấp như NAS Indentify, và Authentication thẩm định lại việc NAS đó có được phép gửi các yêu cầu đó không?Nếu có khả năng, AAA server sẽ kiểm tra thông tin username và password mà người dùng yêu cầu truy cập trong database. Nếu quá trình kiểm tra là đúng thì nó sẽ mang một thông tin trong Access-request quyết định quá trình truy cập của user đó là được chấp nhận.
Khi quá trình chứng thực bắt đầu được sử dụng, AAA server có thể trả về một RADIUS Access-Challenge mang một số ngẫu nhiên. NAS sẽ chuyển thông tin đến người dùng từ xa. Khi đó người dùng sẽ phải trả lời đúng yêu cầu xác nhận, sau đó NAS sẽ chuyển đến AAA server một RADIUS Access-Request
AAA server sau khi kiểm tra các thông tin của người dùng hoàn toàn thỏa mãn sẽ cho phép sử dụng dịch vụ, nó sẽ trả về một message dạng RADIUS Access-accept. Nếu không thỏa mãn AAA server sẽ trả về một tin RADIUS Access-reject và NAS sẽ ngắt dịch vụ.
Khi gói tin Access-accept được nhận và RADIUS Accouting đã được thiết lập, NAS sẽ gửi một gói tin RADIUS Accouting –request tới AAA server. Máy chủ sẽ thêm các thông tin vào logfile của nó, với việc NAS sẽ cho phép phiên làm việc với User bắt đầu khi nào và kết thúc khi nào. RADIUS Accouting làm nhiệm vụ ghi lại quá trình xác thực của user vào hệ thống, khi kết thúc phiên làm việc NAS sẽ gửi thông tin RADIUS Accouting-request
3.2.2. Sự bảo mật và tính mở rộng
Tất cả các message của RADIUS đều được đóng gói bởi UDP datagrams, nó bao gồm các thông tin như: message type, sequence number, length, Authenticator, và một loạt các Attribute-Value.
Authenticator: tác dụng của Authenticator là cung cấp một chế độ bảo mật. NAS và AAA Server sử dụng Authenticator để hiểu đuợc các thông tin đã đươcj mã hoá của nhau như mật khẩu chẳng hạn. Authenticator cũng giúp NAS phát hiện sự giả mạo của gói tin RADIUS Responses. Cuối cùng, Authenticator được sử dụng làm cho để biễn password thành một dạng nào đó, ngăn chặn việc làm lộ mật khẩu của người dùng trong các message RADIUS.