Luận văn Giải pháp nâng cao độ an ninh thông tin trong mạng lan không dây chuẩn IEEE 802.11i

GIẢI PHÁP NÂNG CAO ĐỘ AN NINH THÔNG TIN TRONG MẠNG LAN KHÔNG DÂY CHUẨN IEEE 802.11i Nghành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ MỤC LỤC Trang phụ bìa Lời cam đoan Mục lục i Danh mục các ký hiệu, các chữ viết tắt . iv Danh mục các hình (hình vẽ, ảnh chụp, đồ thị .) vi MỞ ĐẦU 1 1. Nền tảng và mục đích . 1 2. Cấu trúc của luận văn 2 CHƯƠNG 1: TỔNG QUAN VỀ MẠNG LAN KHÔNG DÂY CHUẨN IEEE 802.11 . 3 1.1 Giới thiệu 3 1.1.1 Ưu điểm của mạng máy tính không dây . 3 1.1.2 Hoạt động của mạng máy tính không dây 4 1.1.3 Các mô hình của mạng máy tính không dây cơ bản 5 1.2 Kiến trúc mạng LAN chuẩn IEEE 802.11 . 6 1.2.1 Tầng vật lý mạng LAN không dây . 6 1.2.2 Tầng điều khiển truy nhập CSMA/CA . 9 1.3 Các chuẩn của 802.11 . 10 1.3.1 Nhóm lớp vật lý PHY 11 1.3.2 Nhóm lớp liên kết dữ liệu MAC . 12 1.4. Các kiến trúc cơ bản của chuẩn 802.11 13 1.4.1 Trạm thu phát - STA 13 1.4.2 Điểm truy cập - AP 14 1.4.3 Trạm phục vụ cơ bản - BSS . 14 1.4.4 BSS độc lập - IBSS 15 1.4.5 Hệ thống phân tán - DS 15 1.4.6 Hệ thống phục vụ mở rộng - ESS . 15 1.4.7 Mô hình thực tế 16 CHƯƠNG 2: AN NINH MẠNG LAN KHÔNG DÂY 17 2.1 Các kiểu tấn công đối với mạng không dây . 17 2.1.1 Tấn công bị động - Passive attacks . 17 2.1.2 Tấn công chủ động - Active attacks . 19 2.1.2.1 Mạo danh, truy cập trái phép . 20 2.1.2.2 Tấn công từ chối dịch vụ - DOS 21 2.1.2.3 Tấn công cưỡng đoạt điều khiển và sửa đổi thông tin - Hijacking and Modification 23 2.1.2.4 Dò mật khẩu bằng từ điển - Dictionary Attack 25 2.1.3 Tấn công kiểu chèn ép - Jamming attacks 26 2.1.4 Tấn công theo kiểu thu hút - Man in the middle attacks . 26 2.2 An ninh mạng máy tính không dây 27 2.2.1 Giải pháp an ninh WEP 28 2.2.2.1 Phương thức chứng thực . 28 2.2.2.2 Phương thức mã hóa . 29 2.2.2.3 Các ưu, nhược điểm của WEP 32 2.2.2 Giải pháp an ninh WPA, WPA2 . 34 2.2.1.1 WPA - Wi-fi Protected Access 34 2.2.2.2 WPA2 - Wi-fi Protected Access 2 . 35 CHƯƠNG 3: AN NINH MẠNG LAN KHÔNG DÂY CHUẨN 802.11i 36 3.1 Tổng quan về chuẩn IEEE 802.11i 36 3.1.1 TKIP . 36 3.1.1.1 Khác biệt giữa TKIP và WEP . 36 3.1.1.2 Véc tơ khởi tạo . 39 3.1.1.3 Quá trình trộn khóa . 39 3.1.1.4 Mã kiểm tra toàn vẹn Michael 40 3.1.2 CCMP . 41 3.1.2.1 Chế độ đếm kết hợp CBC-MAC . 41 3.1.2.2 Quá tình hoạt động của CCMP . 43 3.1.3 802.1x . 37 3.1.3.1 Nguyên lý RADIUS Server . 45 3.1.3.2 Giao thức chứng thực mở rộng EAP . 47 3.2 Thuật toán mã hoá sử dụng trong chuẩn IEEE 802.11i 57 3.2.1 Giới thiệu 57 3.2.2 Mô tả thuật toán . 57 3.2.3 Tối ưu hóa 61 3.2.4 Khả năng an toàn . 61 3.2.5 Kết luận 61 3.3 Triển khai an ninh mạng LAN không dây trên nền chuẩn 802.11i . 63 3.3.1 Mô tả bài toán 63 3.3.2 Thiết kế sơ đồ mạng 63 3.3.3. Cấu hình bảo mật 63 3.3.4 Thử nghiệm an ninh. . 66 KẾT LUẬN . 67 TÀI LIỆU THAM KHẢO . 68

pdf75 trang | Chia sẻ: maiphuongtl | Lượt xem: 1676 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Giải pháp nâng cao độ an ninh thông tin trong mạng lan không dây chuẩn IEEE 802.11i, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
người ta nhận ra rằng WEP không đủ khả năng bảo mật một cách toàn diện. - 33 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên - Chỉ có chứng thực một chiều: Client chứng thực với AP mà không có chứng thực tính họp pháp của AP với Client - WEP còn thiếu cơ chế cung cấp và quản lý mã khóa. Khi sử dụng khóa tĩnh, nhiều người dụng khóa dùng chung trong một thời gian dài. Bằng máy tính xử lý tốc độ cao hiện nay kẻ tấn công cũng có thể bắt những bản tin mã hóa này để giải mã ra mã khóa mã hóa một cách đơn giản. Nếu giả sử một máy tính trong mạng bị mất hoặc bị đánh cắp sẽ dẫn đến nguy cơ lộ khóa dùng chung đó mà các máy khác cũng đang dùng. Hơn nữa, việc dùng chung khóa, thì nguy cơ lưu lượng thông tin bị tấn công nghe trộm sẽ cao hơn. - Vector khởi tạo IV, như đã phân tích ở trên, là một trường 24 bit kết hợp với phần RC4 để tạo ra chuỗi khóa – key stream, được gửi đi ở dạng nguyên bản, không được mã hóa. IV được thay đổi thường xuyên, IV có 24 bit thì chỉ có thể có tối đa 2 24 = 16 triệu giá trị IV trong 1 chu kỳ, nhưng khi mạng có lưu lượng lớn thì số lượng 16 triệu giá trị này sẽ quay vòng nhanh, khoảng thời gian thay đổi ngắn, ngoài ra IV thường khởi tạo từ giá trị 0, mà muốn IV khởi tạo lại chỉ cần thực hiện được việc reboot lại thiết bị. Hơn nữa chuẩn 802.11 không cần xác định giá trị IV vẫn giữ nguyên hay đã thay đổi, và những Card mạng không dây của cùng 1 hãng sản xuất có thể xẩy ra hiện tượng tạo ra các IV giống nhau, quá trình thay đổi giống nhau. Kẻ tấn công có thể dựa vào đó mà tìm ra IV, rồi tìm ra IV của tất cả các gói tin đi qua mà nghe trộm được, từ đó tìm ra chuỗi khóa và sẽ giải mã được dữ liệu mã hóa. - Chuẩn 802.11 sử dụng mã CRC để kiểm tra tính toàn vẹn của dữ liệu, như nêu trên, WEP không mã hóa riêng giá trị CRC này mà chỉ mã hóa cùng phần Payload, kẻ tấn công có thể bắt gói tin, sửa các giá trị CRC và nội dung của các gói tin đó, gửi lại cho AP xem AP có chấp nhận không, bằng cách “dò” này kẻ tấn công có thể tìm ra được nội dung của phần bản tin đi cùng mã CRC. Nhận ra sự yếu kém của WEP chuẩn mã hóa có tính bảo mật cao hơn ra đời thay thế cho WEP. - 34 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 2.2.2 Giải pháp an ninh WPA, WPA2 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. 2.2.2.1 WPA - Wi-fi Protected Access 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 card mạng WLAN hoặc các điểm truy cập có hỗ trợ mã hoá bằng phần cứng tại thời điểm hiện tại. 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. 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 (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. 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. - 35 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyê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. 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 khoá TKIP được sử dụng để tạo ra các khoá mã hoá bị phát hiện, nếu hacker có thể đoán được khoá khởi tạo hoặc một phần của 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 khoá khởi tạo không dễ đoán. Đ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 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ệ. 2.2.2.2 WPA2 – Wi-fi Protected Access 2 WPA2 là một chuẩn ra đời sau đó và được National Institute of Standards and Technology (NIST) khuyến cáo sử dụng, WPA2 sử dụng thuật toán mã hóa Advance Encryption Standar (AES). WPA2 cũng có cấp độ bảo mật rất cao tương tự như chuẩn WPA nhưng trên thực tế WPA2 cung cấp hệ thống mã hóa mạnh hơn so với WPA. WPA2 sử dụng rất nhiều thuật toán để mã hóa dữ liệu như RC4, AES và một vài thuật toán khác. Những hệ thống sử dụng WPA2 đều tương thích với WPA. - 36 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên CHƢƠNG 3: AN NINH MẠNG LAN KHÔNG DÂY CHUẨN 802.11i 3.1 Tổng quan về chuẩn IEEE 802.11i Nhóm IEEE 802.11i đã tích cực nghiên cứu để đưa ra giải pháp thay thế cho WEP. Giải pháp tổng thể của IEEE 802.11i dựa trên các thành phần: TKIP, CCMP, IEEE 802.1x . Hình 3.1: Thành phần của 802.11i 3.1.1 TKIP TKIP (Temporal Key Identity Protocol: Giao thức toàn vẹn khóa phiên): là giao thức mã hóa tầng liên kết trong chuẩn 802.11i được thiết kế để nâng cấp khả năng an ninh cho WEP nhưng vẫn hoạt động được trên các thiết bị phần cứng hỗ trợ WEP. Thực chất TKIP là giải pháp nâng cấp phần mềm cho thiết bị sử dụng WEP, TKIP vẫn giữ nguyên kiến trúc cũng như các thao tác trong WEP. 3.1.1.1 Khác biệt giữa TKIP và WEP Cây phân cấp khóa và quản lý khóa tự động. Khác với WEP sử dụng chỉ 1 khóa chính duy nhất, TKIP sử dụng nhiều khóa chính. Khi cần mã hóa các khung tin, các khóa sẽ được sinh ra từ các khóa chính này. Các khóa này được sinh và quản lý bởi kiến trúc Mạng an toàn ổn định (RSN – Robust Security Netwwork). Khóa cho từng frame Mặc dù TKIP vẫn giữ cơ chế mã hóa RC4 của WEP, nó sinh ra các khóa RC4 duy nhất cho mỗi khung tin từ khóa chính. Quá trình này được gọi là trộn khóa (key mixing). - 37 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 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. + IV Key RC4 Payload CRC ICV Payload IV Cipher Text HASH Hình 3.2: Mô tả quá trình mã hóa khi truyền đi sau khi bổ xung Để đả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. Thứ tự khung tin Mỗi khung tin trong TKIP được đánh số thứ tự nhằm giảm thiểu loại hình tấn công replay. Sử dụng MIC thay thế CRC TKIP thay thế thuạt toán băm tuyến tính CRC bằng một thuật toán băm ổn định hơn gọi là Michael. Thuật toán này sinh ra mã toàn vẹn thông điệp gọi là MIC (Message Intergrity Code). Thêm vào đó, địa chỉ nguồn của khung tin cũng được bảo vệ bởi mã toàn vẹn nhằm phát hiện các khung tin bị giả mạo địa chỉ nguồn. - 38 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên - MIC bổ xung 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ổ xung thêm 1 trường tên là MIC vào trong khung dữ liệu để kiểm tra sự 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 3.3: Cấu trúc khung dữ liệu trước và sau khi bổ xung Trường MIC dài 4 byte được tổng hợp từ các thông số theo hàm HASH Hình 3.4: 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ự thay đổi của chuỗi tóm lược - 39 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên - 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. Phản ứng khi mã MIC sai Được thiết kế để hoạt động trên các thiết bị phần cứng đã có, do đó TKIP cũng có những hạn chế của nó. Giống như mã CRC, mã MIC cũng có thể bị sửa đổi khi bị tấn công chủ động. Do đó TKIP sử dụng cơ chế gọi là phản ứng (countermeasure) để hạn chế rủi ro khi mạng bị tấn công một cách chủ động. 3.1.1.2 Véc tơ khởi tạo Để giảm thiểu nguy cơ tấn công vào véc tơ khởi tạo, TKIP tăng độ dài véc tơ khởi tạo từ 24 bit lên 48 bit. Với việc mở rộng này, không gian véc tơ khởi tạo tăng từ 16 triệu lên 280 nghìn tỷ véc tơ và do đó loại bỏ khả năng không gian véc tơ bị sử dụng hết trong thời gian sống của một khóa. Để chống lại hình thức tấn công replay, với mỗi trạm không dây, TKIP lưu giá trị thứ tự khung tin gần nhất nhận được từ trạm đó. Mỗi khi nhận được một khung tin, số thứ tự của khung tin đó được so sánh với giá trị đã lưu. Nếu giá trị này lớn hơn hoặc bằng giá trị đã lưu thì khung tin được chấp nhận, ngược lại khung tin bị từ chối. 3.1.1.3 Quá trình trộn khóa Để đảm bảo mỗi khung tin được truyền đi được mã hóa bởi một khóa RC4 duy nhất, TKIP thực hiện quá trình trộng khóa. Quá trình này sử dụng véc tơ khởi tạo của TKIP, địa chỉ nguồn và khóa phiên theo thời gian. Địa chỉ nguoonfcaur khung tin được đưa vào quá trình trộn khóa nhằm mục đích đảm bảo rằng nếu có hai khung tin có cùng một véc tơ khởi tạo của TKIP thì vẫn được mã hóa bởi hai RC4 khác nhau. TKIP chia quá trình trộn khóa làm hai pha: Pha thứ nhất lấy địa chỉ nguồn, 128 bit khóa phiên theo thời gian, và 32 bit đầu của véc tơ khởi tạo của TKIP để sinh ra một giá trị 80 bit. Kết quả là giá trị sinh ra từ pha này là một hằng số khi 32 bit đầu của véc tơ khởi tạo của TKIP là một hằng số. Do vậy sau 216 =65536 khung tin pha thứ nhất mới cần phải thực hiện lại. - 40 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Pha thứ hai của quá trình trộn khóa thực hiện việc tính toán cho mỗi khung tin gửi đi. Pha này lấy giá trị sinh ra từ pha một, khóa phiên theo thời gian và 16 bit cuối của véc tơ khởi tạo của TKIP làm giá trị đầu vào. Sau quá trình tính toán, khóa RC4 được sinh ra có độ dài 128 bit. Toàn bộ khóa RC4 này được chuyển xuống cho WEP thực hiện việc mã hóa và gửi khung tin. 3.1.1.4 Mã kiểm tra toàn vẹn Michael Để thay thế cho mã kiểm tra toàn vẹn CRC vốn dễ bị tấn công, TKIP sử dụng thuật toán Michael để tạo mã toàn vẹn cho thông điệp. Được phát triển bởi Neils Ferguson với mục đích xây dựng một thuật toán tạo mã kiểm tra toàn vẹn phục vụ cho TKIP, thuật toán Michael chỉ sử dụng các phép toán bit tráo đổi, dịch chuyển và loại trừ nên việc áp dụng không gây ảnh hưởng tới năng lực xử lý thấp của các phần cứng trước đó. Thuật toán Michael thực hiện việc tính toán ở tầng trên trước khi khung tin được chuyển cho tầng MAC. Thuật toán sử dụng khóa có độ dài 64 bit, thực hiện tính toán trên các khối 32 bit của toàn bộ nội dung thông điệp. Trước khi thực hiện, thuật toán sẽ nối một byte có giá trị 0x5a và từ 4 đến 7 byte có giá trị 0 vào đuôi thông điệp để đảm bảo nội dung được tính toán là bội số của 4. Sau khi tính toán, mã MIC có độ dài 8 byte, được nối vào đuôi gói tin MSDU trước khi truyền dữ liệu đi. Dữ liệu này khi truyền đi có thể bị chia nhỏ, tuy nhiên tại phía nhận, mã MIC chỉ được tính toán khi khung tin đã được tập hợp lại. Tuy nhiên nhận thấy mã kiểm tra MIC là chưa đủ để chống chọi lại khả năng bị tấn công, chuẩn 802.11i còn đưa thêm vào một bước gọi là Michael Countermeasure (tạm dịch là Phản ứng khi mã MIC sai). Quy trình này thực hiện như sau:  Mỗi khi phát hiện ra mã MIC sai, giá trị này được đánh dấu và ghi lại. Tuy nhiên trước khi được kiểm tra toàn vẹn, khung tin phải đi qua hai quá trình: kiểm tra toàn vẹn của WEP và kiểm tra chống tấn công replay của TKIP. Do đó, bất kỳ một lỗi MIC nào cũng được coi là nghiêm trọng và cần được sự can thiệp của quản trị viên hệ thống.  Nếu trong 60 giây, hệ thống bắt gặp mã MIC sai lần thứ 2, - 41 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên countermeasure sẽ thực hiện việc ngắt kết nối trong vòng 60 giây tiếp theo. Việc ngắt kết nối sẽ khiến cho kẻ tấn công không thể thực hiện một cách nhanh chóng. Mạc dù 802.11 quy định thời gian phản ứng khi mã MIC sai là 60 giây, một số nhà sản xuất vẫn cho phép cấu hình lại khoảng thời gian này.  Các trạm sẽ xóa khóa chính trong bộ nhớ và yêu cầu khóa mới từ phía bộ phận xác thực. Bộ phận xác thực sã thực hiện việc sinh lại và phân phối khóa cho các bên. Thuật toán Michael cung cấp mức độ an ninh 20 bit. Theo đó, sau khoảng 219 lần, kẻ tấn công có thể giả mạo được giá trị MIC. Với giá trị này trên một mạng 802.11b có khả năng truyền 212 gói tin trong một giây, kẻ tấn công chỉ mất khoảng 2 phút để thu được giá trị MIC giả mạo hợp lệ. Tuy nhiên, cơ chế phản ứng khi MIC sai chỉ cho phép tối đa 2 gói tin giả mạo trong 1 phút, và do đó thời gian để kẻ tấn công có thể tạo được một gói tin giả mạo có MIC hợp lệ là 218 phút (tương đương 6 tháng). Do đó cơ chế phản ứng khi MIC sai được gọi là an toàn với kiểu tấn công giả mạo thông điệp. 3.1.2 CCMP Nhận ra sự không an toàn của chuẩn WEP, nhóm chuẩn hóa lựa chọn thuật toán mã hóa mới cho chuẩn mới thay thế WEP. Thuật toán mã hóa AES (Advance Encryption Standard) được lựa chọn để áp dụng nhằm bảo vệ dữ liệu. Thuật toán AES là thuật toán mã hóa khối có thể hoạt động trên nhiều khóa và khối có độ lớn khác nhau. Để tránh sự nhập nhằng, chuẩn 802.11i quy định kích thước khóa là 128 bit và độ lớn khối là 128 bit. Giao thức an ninh hoạt động ở tầng liên kết dữ liệu sử dụng AES được gọi là CCMP (Giao thức chế độ đếm kết hợp CBC-MAC). CCMP là chế độ hoạt động kết hợp trong đó cùng một khóa vừa được sử dụng để mã hóa và đảm bảo toàn vẹn cho dữ liệu. 3.1.2.1 Chế độ đếm kết hợp CBC-MAC Trong thuật toán mã hóa AES, thuật ngữ chế độ hoạt động (mode of operation) - 42 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên được sử dụng để chỉ phương thức chia khối, mã hóa và tập hợp lại thành thông điệp gốc. Chế độ đếm (mode counter) hay còn gọi là chế độ CTR hoạt động theo phương thức: sử dụng một giá trị bình thường (gọi là số đếm), thực hiện mã hóa giá trị này rồi XOR với khối dữ liệu để tạo ra dữ liệu đã mã hóa Hình 3.5: CCMP CTR Format Với cách hoạt động như vậy, thì phía mã hóa hay giải mã chỉ cần thực thi thuật toán mã hóa khối AES với số đếm được đồng bộ ở 2 phía bởi việc XOR hai lần cùng một giá trị của một toán hạng sẽ cho ta giá trị dữ liệu ban đầu của toán hạng còn lại. thêm vào đó, nếu dữ liệu cần mã hóa có độ rộng không là bội số của kích thước khối, thì việc mã hóa chỉ đơn giản là XOR giá trị mã hóa giá trị đếm với dữ liệu, và do đó kích thước của khối dữ liệu đã mã hóa sẽ bằng với kích thước dữ liệu trước khi mã hóa. Mã hóa AES theo chế độ đếm đã được sử dụng hơn 20 năm và đạt được niềm tin về sự an toàn của nó. Tuy vậy phương pháp chỉ phục vụ cho mục đích mã hóa dữ liệu, do đó cần một phương pháp đảm bảo tính toàn vẹn của dữ liệu. Phương thức đảm bảo tính toàn vẹn của dữ liệu trong CCMP gọi là phương thức chuỗi khối mã hóa (CBC). CBC được sử dụng để tạo ra mã toàn vẹn (MIC) cho thông điệp gửi đi. Trong cộng đồng bảo mật, MIC được gọi là mã xác thực thông điệp (MAC-Message Authentication Code) nên CBC còn được gọi là CBC-MAC. - 43 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.6: CCMP CBC-MAC IV format Cách hoạt động của CBC-MAC tương đối đơn giản:  Lấy khối đầu tiên trong thông điệp và mã hóa (sử dụng AES).  XOR kết quả thu được với khối thứ 2 và tiếp tục mã hóa kết quả thu được.  XOR kết quả thu được với khối tiếp theo rồi mã hóa nó. Cứ tiếp tục như vậy cho đến hết. Cách hoạt động của CBC-MAC tương đối đơn giản nhưng không thể song song hóa như chế độ đếm. Với những thông điệp mà độ lớn không là bội số của kích thước khối, CCMP đưa thêm các bit 0 vào cuối thông điệp để CBC-MAC có thể hoạt động được. Ngoài ra, CBC-MAC còn cho phép đảm bảo tính toàn vẹn cho những dữ liệu không được mã hóa chẳng hạn như địa chỉ MAC của khung tin. 3.1.2.2 Quá tình hoạt động của CCMP Tại phía gửi, khi thông điệp cần gửi đi được chuyển xuống CCMP, quá trình diễn ra:  Mỗi thông điệp được gán một số thứ tự gói có độ lớn 48 bit. Số thứ tự gói cũng giống như véc tơ khởi tạo của TKIP, là duy nhất và không được sử dụng lại cho từng khóa phiên.  Trường dữ liệu xác thực bổ xung được tạo ra chứa giá trị những thông tin trong khung tin 802.11 cần được kiểm tra tính toàn vẹn nhưng không được mã hóa bao gồm phien bản giao thức, loại khung tin, các bit hệ thống, số hiệu mảnh, các bit thứ tự, địa chỉ MAC… - 44 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  Tiếp đó, giá trị CCMP nonce được tạo ra. Giá trị này được hình thành từ số thứ tự gói cùng với địa chỉ nguồn để đảm bảo việc mã hóa chỉ thực hiện trên dữ liệu duy nhất. Đây chính là số đếm sử dụng trong chế độ đếm để mã hóa dữ liệu.  Các giá trị này cùng với phần dữ liệu của thông điệp được chuyển vào bộ CCM, trong đó phần thân thông điệp được mã hóa AES sử dụng khóa phiên và CCMP nonce, còn trường AAD và dữ liệu được tạo mã kiểm tra toàn vẹn 8 byte MIC nhờ CBC-MAC sử dụng khóa phiên. Tại phía nhận, khi nhận được khung tin, quá trình giải mã và kiểm tra mã diễn ra:  Khung tin nhận được bởi tầng MAC sẽ được kiểm tra giá trị FSC trước khi chuyển xuống cho CCMP xử lý.  Trường AAD được tạo ra từ khung tin nhận được.  Giá trị CCMP nonce được tính toán.  Phía Nhận giải mã dữ liệu sử dụng khóa phiên và CCMP nonce.  Giá trị MIC được tính toán trên trường AAD và dữ liệu đã giải mã rồi so sánh với giá trị MIC trong khung tin nhận được. Nếu hai giá trị này khác nhau, quá trình xử lý dừng.  Giá trị số thứ tự gói được kiểm tra để chống lại hình thức tấn công replay. Khung tin nguyên thủy được hình thành. 3.1 3 802.1x 802.1x đã được thiết kế để cho phép có sự chứng thực tính hợp pháp của AP với Client. Mục đích của nó là đưa ra để khẳng định người dùng sẽ chỉ kết nối với mạng “đúng”. Ở mạng hữu tuyến, việc kết nối tới đúng mạng có thể đơn giản như theo đường dây dẫn. Truy nhập theo đường dây dẫn giúp cho người dùng nhận biết được mạng “đúng”. Nhưng trong mạng không dây, đường truyền vật lý là không tồn tại, vì vậy phải có một số cơ cấu khác được thiết kế cho mạng để chứng thực mạng với người dùng. Chuẩn chứng thực 802.1x đã ra đời nhằm thu thập các thông tin chứng thực từ người dùng và chấp nhận hay từ chối truy cập được dựa trên những thông tin đó. - 45 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 3.1.3.1 Nguyên lý RADIUS Server Việc chứng thực của 802.1x được thực hiện trên một server riêng, server này sẽ quản lý các thông tin để xác thực người sử dụng như tên đăng nhập (username), mật khẩu (password), mã số thẻ, dấu vân tay, vv.. Khi người dùng gửi yêu cầu chứng thực, server này sẽ tra cứu dữ liệu để xem người dùng này có hợp lệ không, được cấp quyền truy cập đến mức nào, vv.. Nguyên lý này được gọi là RADIUS (Remote Authentication Dial−in User Service) Server – Máy chủ cung cấp dịch vụ chứng thực người dùng từ xa thông qua phương thức quay số. Phương thức quay số xuất hiện từ ban đầu với mục đích là thực hiện qua đường điện thoại, ngày nay không chỉ thực hiện qua quay số mà còn có thể thực hiện trên những đường truyền khác nhưng người ta vấn giữ tên RADIUS như xưa. Hình 3.7: Mô hình chứng thực sử dụng RADIUS Server Các quá trình liên kết và xác thực được tiến hành như mô tả trong hình trên, và thực hiện theo các bước sau: - 46 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên RADIUS Server Client Laptop Access Point 1 2 3 4 5 6 7 1. Máy tính Client gửi yêu cầu kết nối đến AP 2. AP thu thập các yêu cầu của Client và gửi đến RADIUS server 3. RADIUS server gửi đến Client yêu cầu nhập user/password 4. Client gửi user/password đến RADIUS Server 5. RADIUS server kiểm tra user/password có đúng không, nếu đúng thì RADIUS server sẽ gửi cho Client mã khóa chung 6. Đồng thời RADIUS server cũng gửi cho AP mã khóa này và đồng thời thông báo với AP về quyền và phạm vi được phép truy cập của Client này 7. Client và AP thực hiện trao đổi thông tin với nhau theo mã khóa được cấp - 47 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Để nâng cao tính bảo mật, RADIUS Server sẽ tạo ra các khóa dùng chung khác nhau cho các máy khác nhau trong các phiên làm việc (session) khác nhau, thậm chí là còn có cơ chế thay đổi mã khóa đó thường xuyên theo định kỳ. Khái niệm khóa dùng chung lúc này không phải để chỉ việc dùng chung của các máy tính Client mà để chỉ việc dùng chung giữa Client và AP. 3.1.3.2 Giao thức chứng thực mở rộng 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. Giao thức chứng thực mở rộng EAP là giao thức hỗ trợ, đảm bảo an ninh 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 ví dụ ngoài user/password như chứng thực bằng đặc điểm sinh học, bằng thẻ chip, thẻ từ, bằng khóa công khai, vv...Kiến trúc EAP cơ bản được chỉ ra ở hình dưới đây, 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 3.8: Kiến trúc EAP cơ bản a. Bản tin EAP Một bản tin EAP được thể hiện ở hình trên. Các trường của bản tin EAP : - 48 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên - Code: trường đầu tiên trong bản tin, là một byte dài và xác định loại bản tin của EAP. Nó thường được dùng để thể hiện trường dữ liệu của bản tin. - Identifier: là một byte dài. Nó bao gồm một số nguyên không dấu được dùng để xác định các bản tin yêu cầu và trả lời. Khi truyền lại bản tin thì vẫn là các số identifier đó, nhưng việc truyền mới thì dùng các số identifier mới. - Length: có giá trị là 2 byte dài. Nó chính là chiều dài của toàn bộ bản tin bao gồm các trường Code, Identifier, Length, và Data. - Data: là trường cuối cùng có độ dài thay đổi. Phụ thuộc vào loại bản tin, trường dữ liệu có thể là các byte không. Cách thể hiện của trường dữ liệu được dựa trên giá trị của trường Code. b. Các bản tin yêu cầu và trả lời EAP (EAP Requests and Responses) Trao đổi trong chứng thực mở rộng EAP bao gồm các bản tin yêu cầu và trả lời. Nơi tiếp nhận chứng thực (Authenticator) gửi yêu cầu tới hệ thống tìm kiếm truy cập, và dựa trên các bản tin trả lời , truy cập có thể được chấp nhận hoặc từ chối. Bản tin yêu cầu và trả lời được minh họa ở hình dưới đây: Hình 3.8: Cấu trúc khung của bản tin yêu cầu và trả lời - Code: có giá trị là 1 nếu là bản tin yêu cầu và có giá trị là 2 nếu là bản tin trả lời. Trường Data chứa dữ liệu được dùng trong các bản tin yêu cầu và trả lời. Mỗi trường Data mang một loại dữ liệu khác nhau, phân ra loại mã xác định và sự liên kết dữ liệu như sau: - Type: là một trường byte chỉ ra loại các bản tin yêu cầu hay trả lời. Chỉ có một byte được dùng trong mỗi gói tin. Khi một bản tin yêu cầu không được chấp nhận, nó có thể gửi một NAK để đề nghị thay đổi loại, có trên 4 loại chỉ ra các phương pháp chứng thực. - Type– Data: là trường có thể thay đổi để làm rõ hơn nguyên lý của từng loại. Loại code 1: Identity - 49 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Nơi tiếp nhận chứng thực thường dùng loại Identity như là yêu cầu thiết lập. Sau đó, việc xác định người dùng là bước đầu tiên trong trong chứng thực. Trường Type – Data có thể bao gồm chuỗi để nhắc người dùng, chiều dài của chuỗi được tính từ trường Length trong chính gói EAP. Loại code 2: Notification ( Thông báo ) Nơi tiếp nhận chứng thực có thể dùng loại thông báo để gửi một bản tin tới người dùng. Sau đó hệ thống của người dùng hiển thị bản tin đó. Bản tin thông báo được dùng để cung cấp bản tin tới người dùng từ hệ thống chứng thực, như là password về việc hết quyền sử dụng. Các bản tin đáp ứng phải được gửi để trả lời các yêu cầu thông báo. Tuy nhiên, chúng thường là các phản hồi đơn giản, và trường Type – Data có chiều dài là 0. Loại code 3: NAK Các NAK được dùng để đưa ra một phương thức chứng thực mới. Nơi tiếp nhận chứng thực đưa ra chuỗi mời kết nối, được mã hóa bởi một loại mã. Các loại chứng thực được đánh số thứ tự trên 4. Nếu hệ thống người dùng không phù hợp với loai chứng thực của chuỗi này, nó có thể đưa ra một NAK. Các bản tin NAK của trường của trường Type – Data bao gồm một byte đơn tương ứng với loại chứng thực. Loại code 4: Chuỗi MD – 5 (MD – 5 Challenge) MD – 5 Challenge thường được sử dụng trong EAP tương tự của giao thức CHAP, được đưa ra trong RFC 1994. Đây là yêu cầu bảo mật cơ bản mà EAP sử dụng gồm có Tên đăng nhập và mật khẩu. MD – 5 bảo vệ gói tin bằng cách tạo ra những dấu hiệu đặc trưng riêng ( như chữ ký điện tử ) lưu trong gói tin đó. MD -5 là một giao thức còn đơn giản, chạy nhanh, dễ bổ xung. Nó không sử dụng chứng thực PKI, mức độ mã hóa của nó còn chưa cao, có khả năng bị tấn công kiểu thu hút. Loại code 5: One – time password (OPT ) Hệ thống one – time password dùng bởi EAP được định nghĩa trong RFC 1938. Bản tin yêu cầu được đưa tới người dùng bao gồm chuỗi mời kết nối OPT. Trong một bản tin đáp ứng OPT (loại 5), trường Type – Data gồm có các từ ở từ - 50 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên điển OPT trong RFC 1938. Giống như tất cả các loại chứng thực, các bản tin trả lời có thể là các NAK (loại 3). Loại code 6: Đặc điểm thẻ Token (Generic Token Card ) Các thẻ Token như là SecurID của RSA và Safeword của Secure Computing là phổ biến với nhiều nơi bởi vì chúng đưa ra sự bảo mật “ngẫu nhiên” các one – time password mà không có một phức tạp nào của một OPT. Các bản tin yêu cầu chứa đựng thông tin đặc điểm thẻ Token cần thiết cho chứng thực. Trường Type- Data của yêu cầu phải có chiều dài lớn hơn 0 byte. Trong các bản tin đáp ứng, trường Type – Data được dùng để mang thông tin được sao chép từ thẻ Token bởi người dùng. Trong cả bản tin yêu cầu và trả lời, trường chiều dài của gói EAP được tính là chiều dài bản tin yêu cầu của Type – Data. Loại code 13: TLS RFC đưa ra việc dùng Transport Layer Security (TLS) trong chứng thực. TLS là phiên bản nâng cấp đã được triển khai một cách rộng rãi ở Secure Socket Layer (SSL) và chứng thực TLS kế thừa một số đặc điểm từ SSL. TLS là một phương thức mã hóa mạnh, nó chứng thực song phương có nghĩa là không chỉ Server chứng thực Client mà Client cũng chứng thực lại Server, chống lại việc nghe trộm, bắt gói tin. Nhược điểm của nó là yêu cầu chứng thực PKI ở cả 2 phía làm cho quá trình chứng thực phức tạp, nó phù hợp với hệ thống nào đã có sẵn chứng thực PKI. Các loại mã khác Đáng chú ý nhất là 2 khái niệm chứng thực Kerberos và chứng thực cell – phone (thẻ SIM dựa trên các mạng thế hệ thứ 2 và AKA dựa trên các mạng thế hệ thứ 3). c. Các khung trong EAP Khi các trao đổi EAP kết thúc, người dùng hoặc chứng thực thành công hoặc không thành công. Khi nơi tiếp nhận chứng thực xác định việc trao đổi là hoàn tất nó đưa ra khung thành công (Code 3) và không thành công (Code 4) để kết thúc trao đổi EAP. Nó cho phép gửi nhiều bản tin yêu cầu trước khi chứng thực không thành công để cho phép người dùng nhận được thông tin chứng thực đúng. - 51 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.9: Cấu trúc các khung EAP thành công và không thành công d. Chứng thực cổng Chứng thực tới các thiết bị mạng ở lớp đường dẫn là không mới. Chứng thực cổng mạng đã được biết đến từ trước. Hầu hết sự ra đời của nó đã có sự phát triển cơ sở hạ tầng khá rộng để phù hợp chứng thực người dùng, như là nguyên lý RADIUS servers, và LDAP directories. Khái niệm Port: để chỉ việc đóng mở cổng tương ứng với việc chấp nhận hay từ chối kết nối của Authenticator. Ngoài ra còn có thêm 1 port cho các tuyến đi qua mà không liên quan đến quá trình chứng thực. Hình 3.10: Cấu trúc cổng e. Kiến trúc và thuật ngữ trong chứng thực EAP Trong quá trình chứng thực sử dụng EAP, có 3 bên chính tham gia là : - Máy Client/Máy xin chứng thực - Client/Supplicant: là các phần tử có nhu cầu cần chứng thực để thiết lập kết nối - Tiếp nhận chứng thực – Authenticator: là các phần tử trung gian tiếp nhận nhu cầu chứng thực và trao đổi bản tin qua lại giữa Client và Server chứng thực. Phương thức trao đổi giữa Authenticator và Client gọi là EAPOL (EAP Over LAN) hoặc EAPOW (EAP Over Wireless). - 52 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên - Server chứng thực - Authentication Server: phần tử xử lý các yêu cầu chứng thực gửi đến, cấp phép hay từ chối. Nó không chỉ xử lý yêu cầu chứng thực của Client mà còn có thể gửi đến Client yêu cầu chứng thực bản thân nó. Server chứng thực có thể theo mô hình RADIUS Server hay Active Directory Server. - 53 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên f. Dạng khung và cách đánh địa chỉ của EAPOL Dạng khung Dạng cơ bản của một khung EAPOL được đưa ra ở hình dưới đây: Hình 3.11: Cấu trúc cơ bản của khung EAPOL Bao gồm các trường sau: - MAC header: gồm có địa chỉ đích và địa chỉ nguồn MAC - Ethernet Type: gồm có 2 byte để đánh địa chỉ mã là 88 – 8e. - Version: cho biết số thứ tự của phiên bản. - Packet Type: EAPOL là một sự mở rộng của EAP. Bảng sau chỉ ra một số loại bản tin và miêu tả về chúng: Loại bản tin Tên Miêu tả 00000000 EAP - Packet Bao gồm một khung EAP. Phần lớn các khung đều là EAP – Packet. 00000001 EAPOL - Start Thay cho việc đợi một chuỗi mời kết nối từ Authenticator, Supplicant có thể đưa một khung EAPOL – Start. Trong bản tin trả lời, Authenticator gửi một khung EAP – Request / Identity. 00000010 EAPOL – Logoff Khi một hệ thống hoàn tất việc sử dụng mạng, nó có thể đưa ra một khung EAPOL – Logoff để đưa cổng về trạng thái tắt. 00000011 EAPOL – Key EAPOL có thể được dùng để trao đổi thông tin khóa mã hóa. - 54 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên - Packet Body Length: chiều dài là 2 byte. Nó được thiết lập là 0 khi không có packet body nào tồn tại. - Packet Body: trường này có chiều dài thay đổi được, có trong tất cả các dạng khung EAPOL trừ bản tin EAPOL – Start và EAPOL – Logoff. Đánh địa chỉ Trong môi trường chia sẻ mạng LAN như là Ethernet, Supplicants gửi các bản tin EAPOL tới nhóm địa chỉ 01:C2:00:00:03. Trong mạng 802.11, các cổng là không tồn tại, và EAPOL có thể tiếp tục được chỉ sau khi quá trình liên kết cho phép cả hai bên là Supplicant ( STA không dây di động ) và authenticator ( AP ) để trao đổi địa chỉ MAC. Trong môi trường như là 802.11, EAPOL yêu cầu dùng địa chỉ STA. g. Một ví dụ về trao đổi thông tin trong chứng thực EAP Các bước trao đổi theo thứ tự như sau: - 55 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 1. Supplicant gửi bản tin EAPOL – Start tới Authenticator. 2. Authenticator ( chuyển mạch mạng ) gửi lại một khung EAP – Request / Identity tới Supplicant. 3. Supplicant trả lời bằng một khung EAP – Reponse / Identity. Sau đó Authenticator gửi đến RADIUS server một bản tin Radius – Access – Request. 4. RADIUS server trả lời bằng một bản tin Radius – Access – Challenge. Sau đó Authenticator gửi đến Supplicant một bản tin EAP – Request cho sự chứng thực hợp lệ chứa bất kỳ thông tin liên quan. 5. Supplicant tập hợp các thông tin trả lời từ người dùng và gửi một EAP – Reponse tới Authenticator. Tại đây thông tin xử lý thành bản tin Radius – Access – Request và được gửi tới RADIUS. 6. RADIUS server gửi một bản tin Radius – Access – Accept cho phép truy cập. Vì vậy, Authenticator gửi một khung EAP – Success tới Supplicant. Khi đó cổng được mở và người dùng có thể bắt đầu truy cập vào mạng. 7. Khi Supplicant hoàn tất việc truy cập mạng, nó gửi một bản tin EAPOL – Logoff để đóng cổng. Tóm lại về nguyên lý 3 bên thì cũng giống như nguyên lý 3 bên chứng thực đã đề cập ở phần giới thiệu RADIUS server, chỉ có điều khác là các hoạt động trao đổi bản tin qua lại đều thông qua EAP để đảm bảo an ninh. - 56 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.12: Mô hình chứng thực sử dụng RADIUS Server Các quá trình liên kết và xác thực được tiến hành như mô tả trong hình trên, và thực hiện theo các bước sau: RADIUS Server Client Laptop Access Point 1 2 3 4 5 6 7 1. Máy tính Client gửi yêu cầu kết nối đến AP - 57 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 2. AP thu thập các yêu cầu của Client và gửi đến RADIUS server 3. RADIUS server gửi đến Client yêu cầu nhập user/password 4. Client gửi user/password đến RADIUS Server 5. RADIUS server kiểm tra user/password có đúng không, nếu đúng thì RADIUS server sẽ gửi cho Client mã khóa chung 6. Đồng thời RADIUS server cũng gửi cho AP mã khóa này và đồng thời thông báo với AP về quyền và phạm vi được phép truy cập của Client này 7. Client và AP thực hiện trao đổi thông tin với nhau theo mã khóa được cấp Để nâng cao tính bảo mật, RADIUS Server sẽ tạo ra các khóa dùng chung khác nhau cho các máy khác nhau trong các phiên làm việc (session) khác nhau, thậm chí là còn có cơ chế thay đổi mã khóa đó thường xuyên theo định kỳ. Khái niệm khóa dùng chung lúc này không phải để chỉ việc dùng chung của các máy tính Client mà để chỉ việc dùng chung giữa Client và AP. 3.2 Thuật toán mã hoá sử dụng trong chuẩn IEEE 802.11i 3.2.1 Giới thiệu AES (Advanced Encryption Standard - chuẩn mã hóa nâng cao) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống như tiêu chuẩn tiền nhiệm DES, AES được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm. Thuật toán được thiết kế bởi hai nhà mật mã học người Bỉ: Joan Daemen và Vincent Rijmen (lấy tên chung là "Rijndael" khi tham gia cuộc thi thiết kế AES). 3.2.2 Mô tả thuật toán Mặc dù 2 tên AES và Rijndael vẫn thường được gọi thay thế cho nhau nhưng trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉ làm việc với khối dữ liệu 128 bít và khóa có độ dài 128, 192 hoặc 256 bít trong khi Rijndael có thể - 58 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên làm việc với dữ liệu và khóa có độ dài bất kỳ là bội số của 32 bít nằm trong khoảng từ 128 tới 256 bít. Các khóa con sử dụng trong các chu trình được tạo ra bởi quá trình tạo khóa con Rijndael. Hầu hết các phép toán trong thuật toán AES đều thực hiện trong một trường hữu hạn. AES làm việc với từng khối dữ liệu 4×4 byte (tiếng Anh: state, khối trong Rijndael có thể có thêm cột). Quá trình mã hóa bao gồm 4 bước: 1. AddRoundKey - mỗi byte của khối được kết hợp với khóa con, các khóa con này được tạo ra từ quá trình tạo khóa con Rijndael. 2. SubBytes - đây là phép thế (phi tuyến) trong đó mỗi byte sẽ được thế bằng một byte khác theo bảng tra (Rijndael S-box). 3. ShiftRows - đổi chỗ, các hàng trong khối được dịch vòng. 4. MixColumns - quá trình trộn làm việc theo các cột trong khối theo một phép biến đổi tuyến tính. Tại chu trình cuối thì bước MixColumns được thay thế bằng bước AddRoundKey a. AddRoundKey Tại bước này, khóa con được kết hợp với các khối. Khóa con trong mỗi chu trình được tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có độ dài giống như các khối. Quá trình kết hợp được thực hiện bằng cách XOR từng bít của khóa con với khối dữ liệu. - 59 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.13: Tạo khóa sử dụng phép toán XOR. b. SubBytes Các byte được thế thông qua bảng tra S-box. Đây chính là quá trình phi tuyến của thuật toán. Hộp S-box này được tạo ra từ một phép nghịch đảo trong trường hữu hạn GF (28) có tính chất phi tuyến. Để chống lại các tấn công dựa trên các đặc tính đại số, hộp S-box này được tạo nên bằng cách kết hợp phép nghịch đảo với một phép biến đổi affine khả nghịch. Hộp S-box này cũng được chọn để tránh các điểm bất động (fixed point). Quá trình thay thế Byte. c. ShiftRows - 60 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Các hàng được dịch vòng một số vị trí nhất định. Đối với AES, hàng đầu được giữ nguyên. Mỗi byte của hàng thứ 2 được dịch trái một vị trí. Tương tự, các hàng thứ 3 và 4 được dịch 2 và 3 vị trí. Do vậy, mỗi cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào. Đối với Rijndael với độ dài khối khác nhau thì số vị trí dịch chuyển cũng khác nhau. Hình 3.14: Bước dịch hàng. d. MixColumns Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính khả nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra. Cùng với bước ShiftRows, MixColumns đã tạo ra tính chất khuyếch tán cho thuật toán. Mỗi cột được xem như một đa thức trong trường hữu hạn và được nhân với đa thức c(x) = 3x3 + x2 + x + 2 (modulo x 4 + 1). Vì thế, bước này có thể được xem là phép nhân ma trận trong trường hữu hạn. Hình 3.15: Quá trình biến đổi tuyến tính trên cột. - 61 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 3.2.3 Tối ƣu hóa Đối với các hệ thống 32 bít hoặc lớn hơn, ta có thể tăng tốc độ thực hiện thuật toán bằng cách sát nhập các bước SubBytes, ShiftRows, MixColumns và chuyển chúng thành dạng bảng. Có cả thảy 4 bảng với 256 mục, mỗi mục là 1 từ 32 bít, 4 bảng này chiếm 4096 byte trong bộ nhớ. Khi đó, mỗi chu trình sẽ được bao gồm 16 lần tra bảng và 12 lần thực hiện phép XOR 32 bít cùng với 4 phép XOR trong bước AddRoundKey. Trong trường hợp kích thước các bảng vẫn lớn so với thiết bị thực hiện thì chỉ dùng một bảng và tra bảng kết hợp với hoán vị vòng quanh. 3.2.4 Khả năng an toàn Việc sử dụng các hằng số khác nhau ứng với mỗi chu kỳ giúp hạn chế khả năng tính đối xứng trong thuật toán. Sự khác nhau trong cấu trúc của việc mã hóa và giải mã đã hạn chế được các khóa “yếu” (weak key) như trong phương pháp DES. Ngoài ra, thông thường những điểm yếu liên quan đến mã khóa đều xuất phát từ sự phụ thuộc vào giá trị cụ thể của mã khóa của các thao tác phi tuyến như trong phương pháp IDEA (International Data Encryption Algorithm). Trong các phiên bản mở rộng, các khóa được sử dụng thông qua thao tác XOR và tất cả những thao tác phi tuyến đều được cố định sẵn trong S-box mà không phụ thuộc vào giá trị cụ thể của mã khóa. Tính chất phi tuyến cùng khả năng khuếch tán thông tin (diffusion) trong việc tạo bảng mã khóa mở rộng làm cho việc phân tích mật mã dựa vào các khóa tương đương hay các khóa có liên quan trở nên không khả thi. Đối với phương pháp vi phân rút gọn, việc phân tích chủ yếu khai thác đặc tính tập trung thành vùng (cluster) của các vết vi phân trong một số phương pháp mã hóa. Trong trường hợp thuật toán Rijndael với số lượng chu kỳ lớn hơn 6, không tồn tại phương pháp công phá mật mã nào hiệu quả hơn phương pháp thử và sai. Tính chất phức tạp của biểu thức S-box trên GF(28) cùng với hiệu ứng khuếch tán giúp cho thuật toán không thể bị phân tích bằng phương pháp nội suy. 3.2.5 Kết luận - 62 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Phương pháp Rijndael thích hợp cho việc triển khai trên nhiều hệ thống khác nhau, không chỉ trên các máy tính cá nhân mà điển hình là sử dụng các chip Pentium, mà cả trên các hệ thống thẻ thông minh. Trên các máy tính cá nhân, thuật toán AES thực hiện việc xử lý rất nhanh so với các phương pháp mã hóa khác. Trên các hệ thống thẻ thông minh, phương pháp này càng phát huy ưu điểm không chỉ nhờ vào tốc độ xử lý cao mà còn nhờ vào mã chương trình ngắn gọn, thao tác xử lý sử dụng ít bộ nhớ. Ngoài ra, tất cả các bước xử lý của việc mã hóa và giải mã đều được thiết kế thích hợp với cơ chế xử lý song song nên phương pháp Rijndael càng chứng tỏ thế mạnh của mình trên các hệ thống thiết bị mới. Do đặc tính của việc xử lý thao tác trên từng byte dữ liệu nên không có sự khác biệt nào được đặt ra khi triển khai trên hệ thống big-endian hay little-endian. Xuyên suốt phương pháp AES, yêu cầu đơn giản trong việc thiết kế cùng tính linh hoạt trong xử lý luôn được đặt ra và đã được đáp ứng. Độ lớn của khối dữ liệu cũng như của mã khóa chính có thể tùy biến linh hoạt từ 128 đến 256-bit với điều kiện là chia hết cho 32. Số lượng chu kỳ có thể được thay đổi tùy thuộc vào yêu cầu riêng được đặt ra cho từng ứng dụng và hệ thống cụ thể. Tuy nhiên, vẫn tồn tại một số hạn chế mà hầu hết liên quan đến quá trình giải mã. Mã chương trình cũng như thời gian xử lý của việc giải mã tương đối lớn hơn việc mã hóa, mặc dù thời gian này vẫn nhanh hơn đáng kể so với một số phương pháp khác. Khi cài đặt bằng chương trình, do quá trình mã hóa và giải mã không giống nhau nên không thể tận dụng lại toàn bộ đoạn chương trình mã hóa cũng như các bảng tra cứu cho việc giải mã. Khi cài đặt trên phần cứng, việc giải mã chỉ sử dụng lại một phần các mạch điện tử sử dụng trong việc mã hóa và với trình tự sử dụng khác nhau. - 63 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 3.3 Triển khai an ninh mạng LAN không dây trên nền chuẩn 802.11i 3.3.1 Mô tả bài toán Xây dựng mạng không dây kết nối Internet phục vụ cho các máy trạm hoạt động đồng thời. Sau khi thiết kế và lắp đặt xong thì tiến hành cài đặt cấu hình bảo mật cho các hệ thống. Tiếp đó thử nghiệm an ninh nhằm minh chứng sự an toàn của mạng với giao thức mã hóa WAP2. 3.3.2 Thiết kế sơ đồ mạng Sơ đồ mạng mô phỏng: Hình 3.16: Mạng không dây sau khi đã thiết kế và lắp đặt 3.3.3. Cấu hình bảo mật a. Cấu hình trên thiết bị Access Point (Ở đây minh họa với thiết bị Access Point Linksys WRK45G) - 64 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Để tiến hành cấu hình đầu tiên cần truy cập vào mức cấu hành của thiết bị. Từ trình duyệt web browser gõ Khi đó sẽ hiện ra bảng nhập user và pass để truy cập. Hình 3.17: Nhập User name và Password để cấu hình Sau khi nhập user name và Password thì sẽ truy cập được vào phần cấu hình có giao diện dạng web. Tiến hành cấu hình WEP: - Chọn tab Wireless mục wireless security. - Chọn cấu hình WEP ở Security Mode. - Chọn mức độ dài khóa là 128 bit ở phần WEP Encryption - Nhập khóa bí mật vào mục Passphase rồi nhấn Generate. Sau khi nhấn thì hệ thống sinh ra 4 khóa WEP. Lựa chọn khóa wep sử dụng, nếu chọn khóa nào thì sử dụng khóa đó để cấu hình WEP trên máy trạm. - Chọn Save để lưu cấu hình sau khi hoàn tất việc cài đặt WEP. - 65 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.18: Cấu hình WEP trên Access Point b. Cấu hình bảo mật WEP trên máy trạm. - Chọn kiểu mã hóa là WEP ở ô Data Encryption. - Nhập khóa WEP ở ô Network key và Confirm network key. - Chọn chế độ xác thực là Shared ở ô Network Authentication. Hình 3.19: Cấu hình WEP trên máy PC Tiến hành cấu hình WAP2: Khi tiến hành cấu hình bảo mật WAP2 ta cũng thực hiện các bước tương tự 3.3.4 Thử nghiệm an ninh. - 66 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên a. Kiểm tra hiệu quả với chuẩn bảo mật WEP Sử dụng một máy tính có khả năng kết nối mạng không dây có cài chương trình phân tích gói tin mạnh Wireshark. Tiến hành “bắt” các gói tin do AP phát ra. - Đầu tiên là trong chế độ thiết đặt chuẩn bảo mật WEP. Hình 3.20: Phân tích gói tin mã hóa WEP bằng Wireshark Từ hình trên ta thấy, sau khi “bắt” được gói tin thì ta có thể biết được mọi thông tin trong gói tin đó. Từ SSID, địa chỉ nguồn, địa chỉ đích, kênh truyền… và đặc biệt là nội dung dữ liệu trong gói tin đó. b. Kiểm tra hiệu quả bảo mật với chuẩn bảo mật WAP2 ………. - 67 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên KẾT LUẬN An toàn dữ liệu máy tính luôn là vấn đề rất được quan tâm, đặc biệt là vấn đề an toàn dữ liệu mạng khi mà mạng máy tính trong giai đoạn phát triển mạnh mẽ. Mạng LAN không dây 802.11 sử dụng môi trường truyền dẫn không dây điện từ với những đặc điểm riêng của nó cần có những giải pháp an ninh riêng bên cạnh các giải pháp an ninh truyền thống cho mạng hữu tuyến. Việc tập trung nghiên cứu, đánh giá mức độ an ninh của mạng này không chỉ có ý nghĩa đối với riêng lĩnh vực quân sự, kỹ thuật mà còn đối với tất cả các lĩnh vực đang áp dụng nó. Do vậy luận văn trước hết thực hiện việc tìm hiểu, phân tích các giải pháp an ninh cũng như các rủi ro từ mạng 802.11 dựa trên các tiêu chí đảm bảo: tính an toàn, tính xác thực, tính toàn vẹn. Qua đó có thể thấy chuẩn an ninh 802.11i với mục tiêu cung cấp một giải pháp an ninh mới cho mạng 802.11 đủ khả năng để mang lại mã hóa an toàn cho dữ liệu. Theo hướng tìm hiểu được cho thấy phương pháp Rijndael thích hợp cho việc triển khai trên nhiều hệ thống khác nhau, Ngoài ra, tất cả các bước xử lý của việc mã hóa và giải mã đều được thiết kế thích hợp với cơ chế xử lý song song nên phương pháp Rijndael càng chứng tỏ thế mạnh của mình trên các hệ thống thiết bị mới. Mặc dù vậy, do hạn chế về mặt thời gian, điều kiện thiết bị, cộng với trình độ có hạn, luận văn chưa tiến hành được về mặt thực nghiệm mô hình lý thuyết đã đề xuất. Do đó chỉ có được những đánh giá bước đầu về lĩnh vực tìm hiểu. Phương pháp Rijndael với mức độ an toàn rất cao cùng các ưu điểm đáng chú ý khác chắc chắn sẽ nhanh chóng được áp dụng rộng rãi trong nhiều ứng dụng trên các hệ thống khác nhau. Do đó, trong tương lai, việc tiếp tục nghiên cứu phương pháp mã hóa này cũng là vấn đề cần quan tâm cả về mặt lý thuyết lẫn áp dụng trong hệ thống thực tiễn. - 68 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên TÀI LIỆU THAM KHẢO [1] Aaron E. Earle, “Wireless Security Handbook”, Auerbach 2006. [2] Bruce E. Alexander, “802.11 Wireless Network Site Surveying and Installation”, Cisco Press 2004. [3] Danny Briere - Walter R. Bruce III - Pat Hurley, “Wireless Home Networking for Dummies”, Wiley Publishing 2003. [4] Douglas Stinson, “Cryptography: Theory And Practice”, CRC Press 1995. [5] Eric Geier, “Wi-Fi Hotspots”, Cisco Press 2006. [6] Jame Kempf, “Wireless Internet Security - Architecture and Protocols”, Cambridge University Press 2008. [7] Jim Geier, “Implementing 802.1X Security Solutions for Wired and Wireless Networks”, Wiley Publishing 2005. [8] Jim Geier, “Wireless Networking Handbook”, New Riders 2002. [9] Matthew Gast, “802.11 Wireless Networks - Definitive Guide”, O'Reilly 2002, pp. 1-464. [10] Pablo Brenner, “A Technical Tutorial on IEEE 802.11 Protocol”, Breeze, 1997. Andrew S. Tanenbaum, “Computer Networks”, fourth edition, Prentice- Hall US 2003, pp. 292-299,311-316. [11] Pejman Roshan - Jonathan Leary, “802.11 Wireless LAN Fundamentals”, Cisco Press 2003. [12] Russell Dean Vines, “Wireless Security Essentials”, Wiley Publishing 2002. [13] Scott Empson, “CCNA Portable Command Guide”, Cisco Press 2007. [14] Toby J. Velte - Ph.D., Anthony T. Velte, “Cisco 802.11 Wireless Networking Quick Reference”, Cisco Press – 2005. William Stallings, “Cryptography and Network Security Principles and Practices, Fourth Edition”, Prentice Hall 2005.

Các file đính kèm theo tài liệu này:

  • pdf28LV09_CNTT_KHMTVuAnhTuan.pdf
Tài liệu liên quan