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
75 trang |
Chia sẻ: maiphuongtl | Lượt xem: 1676 | Lượt tải: 1
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:
- 28LV09_CNTT_KHMTVuAnhTuan.pdf