đề tài Giao thức bảo mật wep
Trang 1HỌC VIỆN CỒNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH
Page 1
MÔN : BẢO MẬT THÔNG TIN
ĐỀ TÀI : GIAO THỨC BẢO MẬT WEP
Trang 2GIAO THỨC BẢO MẬT WEP Page 2
I Giới thiệu chung về bảo mật trong wireless
Ngày nay Wireless Lan ngày càng được sử dụng rộng rãi trong cả dân dụng và công nghiệp Việc chuyển và nhận dữ liệu của các thiết bị Wireless Lan qua môi trường không dây nhờ sử dụng sóng điện từ Do đó cho phép người dùng có cùng kết nối
và dễ dàng di chuyển Đây cũng là nguyên nhân của nhiều vấn đề bảo mật liên quan đến Wireless: dữ liệu truyền trên môi trường không dây có thể bị bắt lấy một cách dễ dàng Chính vì không có giới hạn về không gian nên tấn công có thể xảy ra ở bất cứ nơi nào: có thể ở sân bay, hay các văn phòng kế, hay bất cứ nơi nào có thể sử dụng wireless… Do đó cần có biện pháp xử lí thích hợp khi sử dụng wireless để truyền các dữ kiệu quan trọng
- Hồi đáp : thực hiện bằng cách bắt dữ liệu một cách thụ động và các gói truyền lại sau đó để xâm nhập hệ thống
- Sửa đổi : một hoặc một vài phần của thông tin nguyên thủy được thay đổi hoặc lưu lại
2) Tấn công thụ động:
Dạng tấn công này rất nguy hiểm vì nó rất khó bị phát hiện do không để lại dấu vết sau khi tấn công Tấn công được thực hiện bằng cách lắng nghe và bắt các gói tin đang truyền
3) Tóm lại:
Tất cả các loại tấn công ít nhiều đều gây ảnh hưởng đến tính bảo mật của hệ thống
Do đó, ngay từ những phiên bản đầu tiên của Wireless Lan vấn đề bảo mật đã được đặt lên hàng đầu Bảo mật trong Wireless Lan cung cấp cho người sử dụng các dịch
vụ sau:
- Tin cẩn : bảo vệ dữ liệu truyền trên kênh truyền khỏi các loại tấn công thụ động nhằm lấy thông tin đươc gửi, được thực hiện thông qua phương pháp
mã hóa
Trang 3GIAO THỨC BẢO MẬT WEP Page 3
- Kiểm soát truy cập : đảm bảo chỉ những máy được cho phép mới được phép truy cập vào
- Xác thực : đảm bảo gói tin được gửi từ các máy cho phép, tức là nó đảm bảo phía trong phiên truyền không bị giả mạo
- Toàn vẹn : đảm bỏa tính toàn vẹn của dữ liệu, thông điệp không bị thay đổi hay nhân bản
WEP(Wired Equivalent Privacy)nghĩa là bảo mật tương đương mạng có dây(Wire LAN) Khái niệm này là một phần trong chuẩn IEEE 802.11 Theo định nghĩa, WE P được thiết kế để đảm bảo tính bảo mật cho mạng không dây đạt mức độ như mạng nối cáp truyền thống Đối với mạng LAN (định nghĩa theo chuẩn IEEE 802.3) bảo mật dữ liệu đường truyền đối với các tấn công bên ngoài được đảm bảo qua biện pháp giới hạn vật lý, hacker không thể truy suất trực tiếp đến hệ thống đường truyền cáp Do đó chuẩn 802.3 không đặt ra vấn đề mã hóa dữ liệu để chống lại các truy cập trái phép Đối với chuẩn 802.11, do đặc tính của mạng không dây là không giới hạn về mặt vật lý truy cập đến đường truyền , bất cứ ai trong vùng phủ sóng đều có thể truy cập dữ liệu nếu không được bảo vệ do đó vấn đề mã hóa dữ liệu được đặt lên hàng đầu
1 Mã hóa trong WEP
WEP mã hóa bằng cách sử dụng thuật toán RC4 để tạo ra một chuỗi giả ngẫu nhiên
từ khóa đã được chia sẻ và qui ước trước đó Chuỗi giả ngẫu nhiên này sau đó được X-OR với chuỗi dữ liệu để tạo thành gói mã hóa ở phía phát Ở phía thu, máy thu sẽ thực hiện tạo lại chuỗi giả ngẫu nhiên cũng từ khóa dung chung và X-OR chuỗi này với gói mã hóa để tái tạo lại dữ liệu Thuật toán RC4:
người phát minh ra giải thuật mã hóa bất đối xứng RSA) vào năm 1987 RC4 là một thuật toán mã dòng (Stream cipher), có cấu trúc đơn giản, được ứng dụng trong bảo mật Web (SSL/TSL) và trong mạng không dây (WEP)
Thuật toán dựa vào hoán vị ngẫu nhiên.Key hòan tòan độc lập với plaintext Chiều dài key từ 1 đến 256 bytes (8 đến 2048 bits) được sử dụng để khởi tạo bảng trạng thái vector S,mỗi thành phần là S[0],S[1],S[2], Bảng trạng thái được sử dụng để sinh hoán vị ngẫu nhiên giả và dòng key ngẫu nhiên Để mã hóa dữ liệu,ta lấy từng key sinh ra ngẫu nhiên XOR với từng bytes plaintext tạo ra byte ciphertext Sau
256 bytes,key được lặp lại,Qúa trình tiếp tục,cứ 1 bytes plaintext được XOR cùng 1 key sinh ra ngẫu nhiên tạo thành cirphertext,lần lượt cho đến hết plaintext,tạo thành một dòng cirphertext truyền đi
Trang 4GIAO THỨC BẢO MẬT WEP Page 4
Giải mã là quá trình ngược lại của mã hóa,dòng cirphertext sẽ được XOR cùng key sinh ra ngẫu nhiên,theo cách mã hóa sẽ tạo thành plaintext ban đầu
Các bước của thuật toán:
1-Khởi tạo bảng vector trạng thái S
2-Tạo bảng vectơ key với key chọn
3-Tạo hoán vị của S
4-Sinh key
5-XOR để mã hóa hoặc giải mã
1-Khởi tạo bảng vector trạng thái S:
for (int i=0; i<256;i++){
S[i]=i;}
2-Tạo bảng vector key với key đã chọn
for(int i=0; i<256 ;i++){
T[i]=K[i mod keylen];
}
Trong đó: K là mảng chuỗi chứa key đã chọn
Trang 5GIAO THỨC BẢO MẬT WEP Page 5
keylen : chiều dài key đã chọn ,nó tùy vào người đem dữ liệu mã
hóa,keylen từ 1 đến 256
Thuật toán RC4 cho phép chiều dài của khóa thay đổi có thể lên đến 256 bit Chuẩn 802.11 đòi hỏi bắt buộc các thiết bị WEP phải hỗ trợ chiều dài khóa tối thiểu là 40 bit, đồng thời đảm bảo tùy trọn hỗ trợ cho các khóa dài hơn Hiện nay đa số các thiết
bị không dây hỗ trợ WEP với 3 chiều dài khóa: 40 bit, 64 bit và 128 bit
3- Tạo hoán vị của S
5-Mã hóa hoặc giải mã
Mã hóa : Tại bước 4,ngay khi key vừa sinh ra được XOR với plaintext theo từng byte được đọc vào.Kết thúc viêc đọc plaintext,thì quá trình mã hóa kết thúc
Gỉải mã : quá trình này tương tự mã hóa,ta chỉ cần thay plaintext bằng cirphertext
Trang 6GIAO THỨC BẢO MẬT WEP Page 6
Với phương thức mã hóa RC4, WEP cung cấp tính bảo mật và toàn vẹn thông tin trên mạng không dây, và cũng được xem như là một phương thức kiểm soát truy cập Một máy nối mạng không dây muốn truy cập đến Access Point(AP) hoặc muốn giải mã hoặc thay đổi dữ liệu trên đường truyền cần phải có khóa WEP chính xác Tuy nhiên những phát hiện gần đây của giới phân tích an ninh cho thấy rằng nếu bắt được một số lượng lớn dữ liệu đã mã hóa bằng giao thức WEP và sử dụng công thức thích hợp có thể dò tìm được chính xác khóa WEP trong thời gian ngắn điểm yếu này là do lỗ hổng trong cách thức sử dụng phương pháp mã hóa RC4 của giao thức WEP
Giải thuật mật mã:
Mã hóa dữ liệu dựa vào các giải thuật mật mã để làm ngẫu nhiên hóa dữ liệu Có hai loại mật mã được sử dụng là mật mã chuỗi và mật mã khối WEP dùng phương pháp mật mã chuỗi sử dụng RC4 Cả mật mã chuỗi và mật mã khối đều hoạt động bằng cách tạo ra chuỗi mã hóa từ một khóa bí mật có sẵn Sau đó chuỗi mã hóa được trộn với dữ liệu tạo thành thông điệp mã hóa ở ngõ ra
Mật mã chuỗi tạo ra chuỗi mã hóa liên tục dựa trên khóa có sẵn Mật mã chuỗi có giải thuật ngắn và hiệu quả, không đòi hỏi nhiều tài nguyên xử lí của hệ thống
Minh họa hoạt động của mật mã chuỗi như sau:
Quá trình mã hóa luôn bắt đầu với thông điệp Plaintext muốn mã hóa
Trang 7GIAO THỨC BẢO MẬT WEP Page 7
- Bước 1: WEP tạo ra 32 bits kiểm tra CRC (Cyclic Redundance Check) để kiểm tra toàn bộ thông điệp WEP gọi đây là giá trị kiểm tra toàn diện (integrity check bit), giá trị này được nối vào phần đầu của Plaintext
- Bước 2: lấy secret key nối vào phần đầu của IV(initialization vector), sau đó kết quả này được đưa đến bộ tạo số giả ngẫu nhiên RC4 tạo ra chuỗi mật mã (keystream) Keystream là chuỗi nhị phân có chiều dài bằng chiều dài của plaintext cộng với chiều dài CRC
- Bước 3: X-OR chuỗi plaintext đã có CRC với keystream thu được chuỗi dữ liệu mã hóa (ciphertext), sau đó thêm IV( không được mã hóa) vào phần cuối của ciphertext Quá trình mã hóa dữ liệu hoàn thành
Mã hóa khung WEP
Hạn chế của giải thuật mật mã là cùng một chuỗi dữ liệu đầu vào thì sẽ cho ra ở ngõ
ra cùng một chuỗi mã hóa Tính chất này tạo nên một lỗ hổng bảo mật vì máy thứ ba khi nhận được chuỗi mã hóa có thể suy ngược lại thông tin về dữ liệu ban đầu
Để khắc phục điều này một số kĩ thuật mã hóa sử dụng Vector khởi động
Trang 8GIAO THỨC BẢO MẬT WEP Page 8
IV KEY KEY Stream 4567
Ciphertext ABCD
Plaintext Data
Mật mã chuỗi dùng vector khởi động
IV là chuỗi số nhị phân 24 bit
Một trong những thiếu sót của mật mã RC4 là không xác định rõ cách tao ra IV Trong chuẩn 802.11 khuyến khích IV được thay đổi trên mỗi Frame gửi Bằng cách thêm vào IV và thay đổi IV sau mỗi Frame bằng cách chọn một số ngẫu nhiên từ 1 đến 16777215, nếu cùng một Frame dữ liệu được gửi đi hai lần, chuỗi mã hóa đầu
ra sẽ khác nhau cho mỗi Frame
Trường hợp IV lặp lại gọi là IV collision Bằng cách theo dõi tất cả các gói tin truyền
đi thì hacker có thể phát hiện khi nào IV collision xảy ra Từ IV giống nhau, hacker có thể phân tích tìm được keystream dựa trên nguyên tắc : X-OR hai ciphertext với nhau thì nhận được kết quả giống với việc hai plaintext với nhau
Tấn công chuỗi khóa
Trang 9GIAO THỨC BẢO MẬT WEP Page 9
Để tránh lặp lại chuỗi mã hóa với cùng chuỗi dữ liệu, WEP sử dụng 24 bit IV, 24 bit
IV được thêm vào khóa trước khi được xử lý bởi RC4 Hình sau minh họa một Frame được mã hóa bởi WEP:
IV được thay đổi trên mỗi frame để tránh bị lặp lại Sự lặp lại IV xảy ra khi cùng một
IV và khóa được sử dụng, kết quả là cùng một chuỗi mã hóa được sử dụng để mã hóa frame
Mã hóa WEP chỉ mã hóa phần dữ liệu của Frame truyền và được sử dụng trong quá trình xác thực Shared Key WEP mã hóa các trường sau trong frame dữ liệu:
- Phần dữ liệu
- Giá trị kiểm tra
Tất cả các trường khác đều được truyền không mã hóa IV phải được truyền không
mã hóa để máy nhận có thể sử dụng để giải mã dữ liệu và giá trị kiểm tra Quá trình
mã hóa, gửi, nhận
và giải mã dữ liệu sử dụng WEP:
Trang 10GIAO THỨC BẢO MẬT WEP Page 10
Cipher Text Frame
WEP
MIXER (XOR)
Discard Bad ICV Frame
Decryption Process
2 Phương pháp xác thực:
Ngoài việc mã hóa, chuẩn 802.11 còn định nghĩa 32 bit đảm bảo tính nguyên vẹn của frame 32 bit này cho phép phía nhận biết frame nhận được là nguyên vẹn, không bị thay đổi 32 bit này gọi là giá trị kiểm tra (ICV: Integrity Check Value)
ICV được tính trên tất cả các trường của frame sử dụng CRC-32 Phía phát tính giá trị này và đưa kết quả vào trường ICV, để tránh máy thứ 3 có thể thấy ICV, ICV cũng được mã hóa bằng WEP Ở phía thu, frame được giải mã, tính ICV và so sánh với giá trị ICV trong frame nhận được, nếu hai giá trị này giống nhau thì frame được coi như là nguyên vẹn, ngược lại, hai giá trị này không giống nhau thì frame sẽ bị hủy Mô tả hoạt động của ICV:
Trang 11GIAO THỨC BẢO MẬT WEP Page 11
WEP cung cấp hai cơ chế xác thực thực thể:
Sau quá trình xác thực Open, máy đầu cuối có thể bắt đầu truyền và nhận dữ liệu Nếu máy đầu cuối và Access Point được cấu hình khác khóa WEP thì máy đầu cuối không thể mã hóa hay giải mã frame một cách chính xác và frame sẽ bị loại bỏ cả ở Access Point và máy đầu cuối phương pháp này cơ bản cung cấp phương pháp điều khiển truy cập
1.Authentication request 2.Authentication response (success) 3.Association request 4.Association response 5.WEP Data Frame to wired network
Wired network
AP WEP KEY 112233
Client WEP KEY
123456
6.Key mismatched Frame discarded
Xác thực Open với khoá WEP khác nhau
Trang 12GIAO THỨC BẢO MẬT WEP Page 12
Điểm yếu trong xác thực Open:
Xác thực Open không cung cấp phương pháp giúp Access Point xác định xem client
có hợp lệ không Thiếu sót này là điểm yếu bảo mật khi mã hoá WEP không được
sử dụng Ngay cả khi có sử dụng WEP, xác thực Open không giúp xác định ai đang
sử dụng mạng Thiết bị hợp lệ trong tay người sử dụng không hợp lệ cũng nguy hiểm giống như không có bảo mật
Xác th ực Shared key:
Khác với quá trình xác thực Open, quá trình xác thực Shared Key yêu cầu máy đầu cuối và Access Point được cấu hình khoá WEP giống nhau Quá trình xác thực Shared key được mô tả như sau:
Client gửi yêu cầu xác thực Shared Key đến Access Point
Access Point trả lời với một frame thử thách dưới dạng không mã hoá
Client nhận frame thử thách, thực hiện mã hoá frame này và gửi trả lời cho Access Point
Nếu Access Point có thể giải mã frame mã hoá của client chính xác và nhận được frame nguyên thuỷ thì Access Point gửi thông điệp cho client thông báo xác thực thành công
Cơ sở của xác thực Shared Key cũng tương tự như của xác thực Open với khóa WEP là phương thức điều khiển truy cập Quá trình xác thực Shared key được mô
tả trong hình sau:
Quá trình xác thực Shared Key
Điểm yếu trong xác thực Shared Key: Quá trình xác thực Shared Key yêu cầu
client sử dụng khoá WEP để mã hoá frame thử thách từ Access Point Access Point xác thực client bằng cách giải mã gói mã hoá của client xem gói giải mã có giống gói thử thách không
Trang 13GIAO THỨC BẢO MẬT WEP Page 13
Quá trình trao đổi gói thử thách được thực hiện qua kênh truyền không dây và tạo lỗ hổng cho các kiểu tấn công plaintext Lỗ hổng này dựa trên quá trình tính toán khi
mã hóa Chuỗi mã hóa có được bằng cách X-OR chuỗi dữ liệu với chuỗi mật mã Nếu chuỗi dữ liệu đã mã hoá được X-OR được X-OR với chuỗi dữ liệu, ta sẽ được chuỗi mật mã từ khóa được tạo bởi khóa WEP và IV
Cách trích chuỗi mật mã
Máy tấn công lắng nghe các frame trên mạng sẽ bắt được gói thử thách chưa mã hoá và gói mã hoá hồi đáp Bằng cách X-OR hai thông tin này, máy tấn công có được chuỗi mật mã Từ đó, chuỗi mật mã này có thể dùng để giải mã các gói có cùng IV cũng như gửi các gói mã hóa hợp lệ sử dụng chuỗi mật mã có được để tấn công các máy khác trong mạng
Trang 14GIAO THỨC BẢO MẬT WEP Page 14
Điểm yếu bảo mật trong xác thực Shared Key
3) Thuật toán CRC32:
-CRC là một loại mã phát hiện lỗi Cách tính toán của nó giống như phép toán chia
số dài trong đó thương số được loại bỏ và số dư là kết quả, điểm khác biệt ở đây là
sử dụng cách tính không nhớ (carry-less arithmetic) của một trường hữu hạn Độ dài của số dư luôn nhỏ hơn hoặc bằng độ dài của số chia, do đó số chia sẽ quyết định
độ dài có thể của kết quả trả về
-Mặc dù các mã CRC có thể xây dựng được bằng cách sử dụng bất kỳ trường hữu hạn nào, nhưng tất cả các mã CRC thường dùng đều sử dụng trường hữu hạn
GF(2) vì đây là trường hai phần tử, thường được ký hiệu là 0 và 1, phù hợp với kiến trúc máy tính
Gọi T = (k+n) bit là thông tin được phát , với n < k
M = k bit dữ liệu, k bit đầu tiên của T
F = n bit của khung FCS, n bit cuối của T
P = (n+1) bit, số chia trong phép toán
Số T được tạo ra bằng cách dời số M sang trái n bit rồi cộng với số F :
T = M + F
Chia số M cho P ta có :
= Q +
Q là số thương và R là số dư
Vì phép chia thực hiện với số nhị phân nên số dư luôn luôn ít hơn số chia 1 bit
Ta dùng số dư này làm số F, nghĩa là :
T = M + R
Ở máy thu khi nhận được khối dữ liệu, mang chia cho P, kết quả số dư sẽ = 0 : = Q+ + = Q +
Trang 15GIAO THỨC BẢO MẬT WEP Page 15
Vì R + R = 0 nên T/P = Q Như vậy dùng số dư R của phép chia M cho P làm ký tự kiểm tra trong khung FCS thì chắc
chắn T sẽ chia đúng cho P nếu bản tin không có lỗi
Thí dụ:
Cho M = 1010001101 (10 bit)
P = 110101 (6 bit)
Số phải tìm R (5 bit) cho khung FCS được xác đi ̣nh như sau :
- Nhân M với cho : 101000110100000
- Thực hiện phép chia cho P
Thực hiện phép chia T/P ta thấy số dư = 0 Tóm lại, để có một khung FCS n bit , người ta phải dùng một số P có n+1 bit
để tạo số R có n bit dùng cho khung FCS P được gọi là đa thức sinh (generator polynomial), dạng của nó do các giao thức qui định, tổng quát P phải có bit đầu và bit cuối là bit 1
4) Điểm yếu của WEP:
Do WEP sử dụng RC4, một thuật toán sử dụng phương thức mã hóa theo dòng, điều này đòi hỏi một cơ chế đảm bảo là hai dữ liệu giống nhau sẽ không cho kết quả giống nhau sau hai lần mã hóa khác nhau Giá trị IV được sử dụng để cộng thêm vào khóa nhằm tạo ra khóa khác nhau sau mỗi lần mã hóa Cách sử dụng IV là nguồn gốc của đa số các vấn đề trong WEP vì giá trị IV được truyền đi ở dạng