Tải bản đầy đủ (.docx) (42 trang)

Phương thức bảo mật EAP WPA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.55 MB, 42 trang )

CÔNG NGHỆ EAP/WPA

Lời mở đầu:
1
Mạng viễn thông mà tiêu biểu là internet cung cấp rất nhiều những dịch vụ
tiện ích khác nhau, từ Chat, efmail, VoIP, đến các thông tin khoa học, kinh tế
giáo dục và dần dần, truy nhập internet đã trở thành một nhu cầu không thể
thiếu đối với mọi người. Trước đây, để có thể kết nối Internet, người sử dụng
cần phải truy nhập từ một vị trí cố định thông qua một máy tính có thể kết
nối vào mạng. Điều này đôi khi gây ra rất nhiều bất cập cho người sử dụng
khi đang di chuyển hoặc ở một vị trí không có điều kiện kết nối.
Xuất phát từ yêu cầu mở rộng mạng Internet để thân thiện hơn với người sử
dụng, mạng cục bộ không dây (Wireless Local Area Network) đã được
nghiên cứu và triển khai ứng dụng trong thực tế. Mạng không dây mang lại
cho người dung sự tiện lợi bởi tính cơ động, không phụ thuộc vào dây nối và
người dùng mạng không dây có thể truy nhập mạng tại bất cứ vị trí nào, miễn
là nơi đó có các điểm truy nhập. Tuy nhiên, trong mạng không dây cũng tồn
tại những nguy cơ rất lớn về an ninh mạng, những lỗ hổng cho phép Hacker
có thể xâm nhập vào hệ thống để ăn cắp thông tin hoặc phá hoại. Vì vậy,
khi nghiên cứu và triển khai các ứng dụng công nghệ WLAN, người ta đặc
biệt quan tâm tới tính bảo mật, an toàn thông tin của nó. Từ những nhu cầu
đó, đề tài “ Phương thức bảo mật EAP/WPA” đã hướng tới những nghiên
cứu về bảo mật cho mạng WLAN và những giải pháp để xây dựng mạng
WLAN an toàn và hiệu quả, giúp cho người dùng có thể yên tâm hơn khi
lưu trữ hoặc trao đổi các tài nguyên trên mạng Internet
.
Trong quá trình thực hiện báo cáo này, em thay nhóm xin gửi lời cảm ơn sâu
sắc đến thầy Văn Thiên Hoàng, người đã nhiệt tình giúp đỡ và chỉ bảo nhóm
em trong suốt quá trình làm chuyên đề. Do thời gian chuẩn bị có hạn nên
không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp
quí báu của thầy và các bạn để bài báo cáo được hoàn thiện hơn nữa.


Em thay mặt nhóm xin chân thành cảm ơn!
2
PHẦN MỞ ĐẦU:
CẤU TRÚC ĐỀ TÀI:
CHƯƠNG I: TỔNG QUAN VỀ GIAO THỨC XÁC THỰC EAP
Giới thiệu về giao thức xác nhận EAP, cấu trúc EAP, cách thức hoạt động của
giao thức EAP. Nêu mô hình xác thực bằng EAP thông qua RADIUS server.
CHƯƠNG II: TỔNG QUAN VỀ WPA
Khái niệm về WEP và sự cải tiến từ chuẩn WEP được thay chuẩn bằng WPA.
Thuật toán mã hóa RC4 được kế thừa từ những thuật toán cổ điển: hoán vị và
thuật toán thay thế. Nêu về TKIP giao thức toàn vẹn khoá, nêu những công nghệ
thuật toán sử dụng TKIP.
CHƯƠNG III: CÔNG NGHỆ EAP/WPA TRONG WIRELESS
Mô tả tổng quan về cách xác thực EAP/WPA. Nêu rõ sự kết hợp của chúng với
nhau tạo thành khối bảo mật trong WIRELESS. Ứng dụng trong hiện tại.
CHƯƠNG IV: DEMO
Sơ lược về cách hoạt động của EAP/WPA xem xét cách hoạt động của chúng.
Chi tiết cấu hình máy chủ phụ trợ chứng thực RADIUS server và cấu hình
ACCESS POINT.
THUẬT NGỮ ĐƯỢC SỬ DỤNG TRONG BÀI
EAP Extensible Authentication Protocol
RC4 Rivest Cipher 4
WPA WiFi Protected Access
OTP One Time Password
TKIP Temporal Key Integrity Protocol
MIC Message Integrity Check
AP Access Point
PSK Pre Share Key
AAA Authentication, Authorization, Accounting
3

CHƯƠNG I: Giao thức EAP
1. Sơ lược EAP:
Giao thức mở rộng EAP (Extensible Authentication Protocol): giao thức xác
thực hỗ trợ nhiều phương thức xác thực. Hoạt động ở tầng DATA LINK.
EAP được dùng trên các liên kết chuyên dụng, cũng như các mạch chuyển đổi
có dây và không dây. EAP đang được triển khai trên các máy chủ và các thiết bị
định tuyến thông qua chuyển mạch hay dial up dùng PPP EAP cũng được thực
hiện với các thiết bị chuyển mạch và điểm truy cập (access point) dùng IEEE 802.
Giao thức chứng thực mở rộng EAP là giao thức hỗ trợ, bảo đảm 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 hang 8 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 hiện bằng đặc điểm sinh học, bằng thẻ chip, thẻ từ,
bằng khóa công khai…
Kiến trúc cơ bản của EAP được thể hiện rõ ở hình sau, nó được thiết kế để vận
hành trên bất kỳ lớp đường dẫn nào và dùng bất cứ phương thức xác thực nào.
KIẾN TRÚC EAP CƠ BẢN
4
1.1 BẢN TIN EAP:
Giải thích:
Gồm có 4 trường: CODE, IDENTIFIER, LENGTH, DATA
CODE: là trường đầu tiên trong bản tin, là một byte dài 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ố
identify đó, nhưng việc truyền mới thì dùng các số identify 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.
1.2 EAP REQUEST AND RESPONSE
Trao đổi 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 một yêu cầu tới hệ thống tìm kiếm
5
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 sau:
Code: có giá trị là 1 nếu là bản tin yêu cầu, 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 10 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 các loại 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:
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 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 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 3-NAK:

6
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 loại 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 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 MD5 (MD5 Challenge): MD5 Challengen 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. 11 MD5 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 đó. MD5 là giao thức còn đơn giản, chạy
nhanh, dễ bổ sung. Nó không sử dụng chứng thực TKIP, 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 (OTP): 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 OTP. Trong một bản tin đáp ứng OTP (loại 5),
trường Type-Data gồm có các từ trong từ đ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ại3).
• Loại code 6 Đặc điểm thẻ Token (Generic Token Card): Các thẻ Token
như là SecureID 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 OTP. 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, chiều dài của gói tin 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 ngượ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
7
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 đã tịch hợp sẵn chứng thực PKI.
• Các loại mã hóa khác: Đáng chú ý nhất là 2 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
1.3. 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 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.
1.4. 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 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ó một sô port cho các tuyến đi qua
mà không liên quan đến quá trình chứng thực.
8
1.5. Quá trình trao đổi thông tin trong chứng thực EAP
9
Các bước trao đổi như sau:
1. Supplication gửi bản tin EAPOL-Start tới Authenticator
2. Authenticator gửi lại một dạng khung EAP-Request/Identity tới Supplicant

3. Supplicant trả lời bằng một khung EAP-Respose/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 bản tin
EAP (Response 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.
10
Chương 2: TỔNG QUAN VỀ WPA
1. Sơ lược về WPA:
Là một chuẩn bảo mật được thiết kế để tăng cường bảo vệ dữ liệu và điều khiển
truy cập cho các hệ thống mạng LAN không dây. WPA được thiết kế để lấp những
lỗ hổng bảo mật của WEP, đặc biệt là quá trình mã hóa dữ liệu và authenticate
yếu.
WPA cung cấp hai yếu tố cải tiến về bảo mật như sau: Cải tiến mã hóa dữ liệu
thông qua TKIP. Temporal Key Integrity Protocol, cung cấp sự cải tiến trong mã
hóa dữ liệu bằng cách trộn lẫn key đựơc sinh theo từng packet với véc tơ khởi tạo
(IV) được mở rộng với những sequence counter để chống replay attack trên WEP,
sau đó mới chuyển đến quy trình khởi tạo mã hóa RC4. Ngoài ra, TKIP còn hiện
thực chức năng kiểm tra sự toàn vẹn thông điệp (Message Integrity Check – MIC)
64 bit với giải thuật MICHAEL. Authenticate người dùng ở mức độ doanh nghiệp
thông qua 802.1x và EAP. Framework 802.1x và EAP dùng một máy chủ
authenticate tập trung, chẳng hạn như RADIUS, để authenticate mỗi người dùng
trong mạng trước khi họ kết nối vào. Nó cũng sử dụng cơ chế “nhận dạng lẫn

nhau” để ngăn chặn người dùng truy cập vào một mạng giả mạo có thể đánh cắp
nhận dạng của họ.
1.1. Các chế độ WPA cho người dùng:
WPA-Personal:
Cũng được gọi là chế độ WPA-PSK (Pre-shared key), nó được thiết kế cho gia
đình và mạng văn phòng nhỏ và không yêu cầu một máy chủ xác thực. Mỗi thiết
bị mạng không dây xác thực với điểm truy cập bằng cách sử dụng phím 256-bit
cùng được tạo ra từ mật khẩu hoặc mật khẩu.
WPA-Enterprise:
Cũng được gọi là chế độ WPA-802.1X, và đôi khi chỉ WPA (trái ngược với
WPA-PSK). Nó được thiết kế cho mạng doanh nghiệp và yêu cầu 1 máy chủ xác
thực RADIUS. Điều này đòi hỏi một thiết bị phức tạp hơn, nhưng cung cấp an
11
ninh bổ sung (ví dụ như bảo vệ chống lại các cuộc tấn công từ điển vào mật khẩu
ngắn). Một EAP được sử dụng để xác thực, mode khác nhau.
1.2. Thuật toán mã hóa trong WPA:
A. TKIP
1/ Định nghĩa
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 bảo mật cho WPA nhưng vẫn hoạt động trên các thiết bị phần cứng
hỗ trợ WPA. TKIP vẫn giữ nguyên kiến trúc cũng như thao tác trong WPA. Cây
phân cấp khóa và quản lý khóa tự động. Sử dụng nhiều khoá chính. Khi cần mã
hóa các khung tin, các khóa sẽ sinh ra từ các khóa chính này. Các khóa này được
sinh ra và quản lý bởi kiến trúc RSN-Robust Security Network. Khóa cho từng
frame TKIP vẫn giữ cơ chế mã hóa RC4. Nó chỉ 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 gọi là trộn khóa. Vì vậy, 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 phương pháp là thay đổi mã khóa theo từng
khói tin. Thực hiện bằng cách 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 rồi tới process RC4. Vì mã RC4 thay
đổi liên tục theo mỗi gói tin => Mã khóa tổ hợp cũng thay đổi liên tục dù mã khóa
chưa đổi.
12
Để đảm bảo hơn nữa, Cisco đưa ra quy ước giá trị vector khởi tạo 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 trùng nhau và mã khóa tổ hợp của AP và
Client sẽ không trùng nhau.
Thứ tự khung tin trong TKIP được đánh số thứ tự nhằm giảm thiểu loại hình tấn
công replay. 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 MICHAEL sinh ra mã toàn vẹn thông tin 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.
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.
13
Trường MIC dài 4 byte được tổng hợp từ các thông số theo hàm HASH
2/ 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 bản 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 bản cũng dẫn đến sự thay đổi
của chuỗi tóm lược
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
14
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/ 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.
Michael chỉ sử dụng các phép toán bit trao đổ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.
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).
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, 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.
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 9 lần, kẻ
15
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 gọi là an toàn với kiểu tấn công giả
mạo thông điệp
B. Các thuật toán trong RC4:
1. Thuật toán KSA :
Thuật toán KSA được sử dụng để khởi tạo các hoán vị trong mảng "S".
"Keylength" được định nghĩa là số lượng các byte trong khoá và có thể là trong
khoảng 1 ≤ keylength ≤ 256, thông thường từ 5 đến 16, tương ứng với độ dài 40 -
128 bit. Đầu tiên, mảng "S" được khởi tạo để nhận dạng hoán v . S sau đó được xử
lý cho 256 lặp đi lặp lại một cách tương tự đến PRGA chính, nhưng cũng hỗn hợp
bằng byte của khoá cùng một lúc.
i từ 0 đến 255
S [i]: = i endfor
j: = 0
i từ 0 đến 255
j: = (j + S [i] + key [i mod keylength]) mod 256
trao đổi các giá trị của S [i] và S [j]
end for
2. Thuật toán giả ngẫu nhiên (PRGA):
i: = 0 j: = 0 ;

While Generating Output:
i: = (i + 1) mod 256
j: = (j + S [i]) mod 256
trao đổi các giá trị của S [i] và S [j]
K: = S (S [i] + S [j]) mod 256]
đầu ra K
end while
16
3. Vectơ thử nghiệm
Đây là những vectơ kiểm tra không chính thức, nhưng thuận tiện cho bất cứ ai
thử nghiệm chương trình riêng của RC4 của họ. Các phím và bản rõ là ASCII,
keystream và bản mã trong hệ thập lục phân.
4. RC4A
RC4A sử dụng hai mảng trạng thái S1 và S2, hai chỉ số j1 và j2. Mỗi lần được
tăng lên, hai byte được tạo ra.
Thuật toán là:
17
Mặc dù mạnh hơn RC4, thuật toán này cũng đã bị tấn công, với Alexander
Maximov và một nhóm nghiên cứu từ NEC phát triển các cách để phân biệt sản
lượng của nó từ một chuỗi thực sự ngẫu nhiên.
5. VMPC
Là một biến thể RC4. Nó sử dụng cùng một lịch trình chính như RC4, nhưng
lặp lại 768 lần hơn là 256 (nó không phải là giống như RC4- drop512 bởi vì tất cả
lặp đi lặp lại kết hợp các tài liệu quan trọng), và với một tùy chọn bổ sung 768 lặp
đi lặp lại để kết hợp một vector ban đầu. Bài viết hay để làm nổi bật sự tương tự
RC4 càng nhiều càng tốt, chức năng thế hệ đầu ra hoạt động như sau:
6. RC4+
RC4 + là một phiên bản sửa đổi của RC4 với một lịch trình khóa phức tạp hơn
ba pha (khoảng chừng 3 × miễn là RC4, hoặc giống như RC4-drop512), và đầu ra
18

là một chức năng phức tạp hơn, thực hiện bốn tra cứu bổ sung trong S mảng cho
mỗi đầu ra byte, khoảng 1.7 × miễn như là cơ bản RC4.
19
CHƯƠNG 3:
CÔNG NGHỆ EAP/WPA TRONG WIRELESS
1. WPA-Enterprise Mode (EAP/RADIUS):
Hình 1. 11: Enterprise Mode
*Cách WPA-Enterprise làm việc:
WPA-Enterprise có khả năng đáp ứng được nhu cầu an ninh mạng không dây ở
cấp độ cao. Sau khi đăng nhập một cách an toàn vào mạng với user và password,
mọi client sẽ tự động nhận được 1 key mã hóa duy nhất, nó dài và được update
thường xuyên, vì vậy có khả năng tránh được sự tấn công của các snooper. Thậm
chí, nếu 1 khóa bị giải mã bằng cách nào đó bới 1 hacker cực kì thông minh thì
ngay khi hacker này sử dụng khóa đó, ổ khóa đã bị thay đổi.
20
Về mặt kĩ thuật, WPA-PSK làm việc trên từng client và giao cho mỗi client 1
khóa mã hóa duy nhất. Nhưng các khóa này có nguồn gốc giữa client và AP nên sẽ
dễ bị giải mã hơn bởi những Sniffer.
Trong WPA-Enterprise mode, người sử dụng không hề biết Passphrase, do đó
họ không thể share nó ra ngoài, hay sử dụng nó khi đã nghỉ việc. Các keys client
không tự thay đổi hàng loạt, nếu sử dụng WPA-PSA (WPA Personal mode) và
bạn muốn thay đổi Passphrase, bạn phải tới từng máy. Điều này giúp tiết kiệm
nhiều thời gian.
Ở Mode này, điều cần thiết đó là bạn phải có 1 RADIUS Server chứng thực hỗ
trợ WPA và EAP.
2. RADIUS Authentication Server:
Giữ nhiệm vụ chứng thực thồng tin người dùng, cách làm chủ yếu đó là user +
Password. Phẩn mềm RAS này sử dụng giao thức RADIUS, Bởi vì sự hỗ trợ rộng
rãi và tính chất phổ biến của giao thức RADIUS, nó thường được sử dụng bởi các
nhà cung cấp dịch vụ Internet và các doanh nghiệp để quản lý truy cập vào mạng

Internet hoặc mạng nội bộ, mạng không dây, và các dịch vụ e-mail tích hợp.
Những mạng lưới này có thể kết hợp modem, DSL, điểm truy cập, mạng riêng ảo,
cổng mạng, máy chủ web, v.v….
RADIUS cung cấp phương pháp xác thực tập trung AAA (Authentication,
Accounting, Authorization) nhưng RAS thì lại không có chức năng phân quyền.
21
RADIUS Authentication Server
2.1 Authentication và Accounting:
Authentication
Người dùng hoặc máy sẽ gửi một yêu cầu đến một máy chủ truy cập từ xa
(RAS) để đạt được quyền truy cập vào tài nguyên mạng bằng các thông tin truy
cập cụ thể. Các thông tin được truyền cho các thiết bị RAS thông qua giao thức
link-layer, ví dụ, Point-to-Point Protocol (PPP) trong trường hợp của nhiều dialup
hoặc nhà cung cấp dịch vụ DSL hoặc đăng trong một hình thức HTTPS web an
toàn.
Đổi lại, RAS gửi một thông điệp yêu cầu truy cập RADIUS đến máy chủ
RADIUS, yêu cầu ủy quyền để cấp quyền truy cập thông qua giao thức RADIUS.
Yêu cầu này bao gồm các thông tin truy cập, thông thường trong các hình thức
của tên người dùng và mật khẩu hoặc chứng chỉ bảo mật được cung cấp bởi
22
người sử dụng. Ngoài ra, yêu cầu có thể chứa các thông tin khác mà RAS
biết về người dùng, chẳng hạn như địa chỉ mạng của mình hoặc số điện thoại,
và thông tin liên quan đến điểm vật lý của người sử dụng tập tin đính kèm
RAS.
Các máy chủ RADIUS kiểm tra thông tin đó là chính xác bằng cách sử dụng hệ
thống xác thực như PAP, CHAP hoặc EAP. Bằng chứng về nhận dạng của người
dùng được xác minh, cùng với, tùy chọn, các thông tin khác liên quan đến yêu cầu,
chẳng hạn như địa chỉ mạng của người dùng hoặc sốđiện thoại, tình trạng tài
khoản và phân quyền truy cập dịch vụ cụ thể.
Trong lịch sử, các máy chủ RADIUS kiểm tra thông tin của người sử dụng

chống lại một tập tin cơ sở dữ liệu được lưu trữ tại địa phương phẳng. Các máy
chủ RADIUS hiện đại có thể làm được điều này, hoặc có thể tham khảo các nguồn
bên ngoài - thường là SQL, Kerberos, LDAP, hoặc các máy chủ Active Directory -
để xác minh các thông tin của người sử dụng.
Các máy chủ RADIUS sau đó trả về một trong ba câu trả lời RAS:
Access Reject
Access Challenge
Access Accepted
Truy cập Từ chối người sử dụng được một cách vô điều kiện từ chối truy cập
vào tất cả các tài nguyên mạng. Lý do có thể bao gồm không cung cấp bằng chứng
xác định hoặc một tài khoản người dùng không biết hoặc không hoạt động.
Truy cập Challenge - Yêu cầu thêm thông tin từ người sử dụng như một mật
khẩu thứ cấp, PIN, mã thông báo, hoặc thẻ. Challenge truy cập cũng được sử dụng
trong các hộp thoại xác thực phức tạp hơn một đường hầm an toàn được thiết lập
giữa máy tính người dùng và các máy chủ Radius trong một cách mà các thông tin
truy cập được ẩn từ RAS.
23
Truy cập Chấp nhận - người dùng là cấp quyền truy cập. Một khi người dùng
được xác thực, máy chủ RADIUS sẽ thường xuyên kiểm tra mà người dùng được
phép sử dụng các dịch vụ mạng được yêu cầu. Một người sử dụng nhất định có thể
được phép sử dụng mạng không dây của công ty, nhưng không phải dịch vụ VPN
của nó, ví dụ. Một lần nữa, thông tin này có thể được lưu trữ cục bộ trên máy chủ
RADIUS, hoặc có thể được nhìn lên trong một nguồn bên ngoài như LDAP hoặc
đăng nhập.
Mỗi của ba những phản ứng RADIUS có thể bao gồm một thuộc tính Trả lời tin
nhắn mà có thể cung cấp cho một lý do để từ chối, nhắc nhở cho những thách
thức, hoặc một tin nhắn chào mừng cho sự chấp nhận. Các văn bản trong thuộc
tính có thể được chuyển cho người sử dụng trong một trang web trở lại.
Authentication
Accounting

Khi quyền truy cập mạng được cấp cho người dùng bằng cách NAS, một
Accounting Start (Accounting RADIUS yêu cầu gói tin có chứa một thuộc tính
Acct-Status-Type với tín hiệu "bắt đầu") được gửi bởi NAS máy chủRADIUS
để báo hiệu sự bắt đầu củacủa người sử dụng truy cập mạng. "Bắt đầu" hồ sơ
24
thường có nhận dạng của người dùng, địa chỉ mạng, điểm tập tin đính kèm và
thời gian tự động thoát một định danh duy nhất.
Nó cập nhật hồ sơ tạm thời một cách định kì (Accounting RADIUS yêu cầu gói
tin có chứa một thuộc tính Acct-Status-Type với giá trị tạm thời được cập nhật
") có thể được gửi bởi NAS đến các máy chủ RADIUS, để cập nhật tình trạng
của một phiên hoạt động. Hồ sơ tạm thời này thường được truyền tải trong thời
gian phiên làm việc hiện tại và mang thông tin về cách sử dụng dữ liệu hiện tại.
Cuối cùng, khi truy cập mạng của người sử dụng được đóng lại, NAS sẽđưa ra
lệnh cuối cùng là Accounting Stop (an Accounting RADIUS yêu cầu gói có
chứa một thuộc tính Acct-Status-Types với các tín hiệu "dừng lại") đến máy
chủ RADIUS, cung cấp thông tin về việc sử dụng thức về thời gian, các gói tin
chuyển giao, chuyển dữ liệu, lý do để ngắt kết nối và các thông tin khác liên
quan đến truy cập mạng của người dùng.
Thông thường, khách hàng sẽ gửi các gói tin Accounting-Request cho đến khi
nó nhận được một sự thừa nhận Acounting-Accept, bằng cách sử dụng một số
thử lại khoảng thời gian.
Mục đích chính của dữ liệu này là người dùng có thể được lập hoá đơn cho phù
hợp, dữ liệu cũng thường được sử dụng cho mục đích thống kê và giám sát
mạng nói chung.
Accounting packet
25

×