Khi WEP mật mã số liệu, nó thực hiện hai xử lý đối với số liệu thô: một để mật mã văn bản thô, và một để bảo vệ sự thay đổi số liệu trái phép.Thuật toán RC4:RC4 là giải thuật mật mã hóa
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA: VIỄN THÔNG I
BÁO CÁO MÔN HỌC
AN NINH MẠNG VIỄN THÔNG
ĐỀ TÀI: GIAO THỨC BẢO MẬT WEP
GIÁO VIÊN HƯỚNG DẪN: TS Nguyễn Tiến Ban
Trang 2Lời mở đầu
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 truyề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 sử dụng sóng điện từ cho phép người dùng có cùng kết nối và dễ dàng di chuyển Tuy nhiên, đây cũng là nguyên nhân của nhiều vấn đề bảo mật khi dữ liệu truyền trên môitrường không dây có thể bị bắt lấy một cách dễ dàng
Giao thức WEP (Wired Equivalent Privacy) là giao thức bảo mật tương đương mạng
có dây định nghĩa bởi chuẩn IEEE 802.11 WEP đượ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 WEP bảo vệ sự toàn vẹn, đảm bảo bảo mật và nhận thực trên đường không dây giữa các AP của WLAN và các client (bộ thích ứng WLAN trong các máy đầu cuối)
Để hiểu rõ các tính năng, điểm yếu của WEP từ đó quyết định an ninh trong 802.11 là
đủ hay cần bổ sung thêm cơ chế an ninh khác khi triển khai một WLAN cụ thể, nhóm tiểu luận đã lựa chọn đề tài “Giao thức bảo mật WEP” Nội dung tiểu luận bao gồm:
Trang 3Danh mục hình vẽ
Hình 1.1 Sơ đồ thuật toán RC4 5
Hình 1.2 Mật mã hóa WEP 6
Hình 1.3 Giải mật mã WEP 7
Y Hình 2.1 Hoạt động của ICV 6
Hình 2.2 Nhận thực hệ thống mở với khóa WEP khác nhau 7
Hình 2.3 Quá trình nhận thực khóa chia sẻ 8
Hình 2.4 Cách trích chuỗi mật mã 9
Hình 2.5 Điểm yếu bảo mật trong nhận thực khóa chia sẻ 10
Hình 4.1 Tấn công bị động 14
Hình 4.2 Tấn công chủ động 16
Hình 4.3 Tấn công theo kiểu kẻ đứng ở giữa 18
Hình 4.4 Tấn công gây tắc nghẽn 19
Hình 4.5 Tấn công plantext 20
Hình 4.6 Tấn công chèn bit vào khung 21
Hình 4.7 Quá trình thay đổi ICV 22
Trang 4Mục lụ
c
I Mật mã và giải mật mã WEP 1
1.1 Thuật toán RC4 1
1.2 Mật mã WEP 2
1.3 Giải mật mã WEP 3
II Nhận thực WEP 5
2.1 Nhận thực hệ thống mở (Open System Authentication) 6
2.2 Nhận thực khóa chia sẻ (Share Key Authentication) 7
III Điểm yếu WEP, tối ưu WEP và tương lai của WEP 10
3.1 Điểm yếu của WEP 10
3.2 Giải pháp tối ưu cho WEP 11
3.3 Tương lai của WEP 12
IV Các cách tấn công WEP 13
4.1 Tấn công bị động (Passive Attack) 13
4.2 Tấn công chủ động (Active Attack) 15
4.3 Tấn công theo kiểu kẻ đứng giữa (Man-in-the-middle) 16
4.3 Tấn công gây tắc nghẽn (Jamming) 18
4.4 Kết hợp các phương pháp tấn công 19
V Kết luận 23
VI Tài liệu tham khảo 23
Trang 5I Mật mã và giải mật mã WEP
1.1 Thuật toán RC4
WEP sử dụng kỹ thuật mật mã RC4 (Ron Code) để tạo ra một chuỗi giả ngẫu nhiên từkhóa đã được chia sẻ và quy ướ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 dùng chung và X-OR chuỗi này với gói mã hóa
để tái tạo lại dữ liệu Bộ mật mã hóa luồng nhận một khóa có độ dài cố định và tạo ra mộtchuỗi bit ngẫu nhiên sau đó cộng mod-2 văn bản thô để tạo ra văn bản mật mã RC4 cũngđược sử dụng rộng rãi cho giao thức Internet SSL (lớp ổ cắm an ninh) và nhiều sản phẩm mật mã khác Khi WEP mật mã số liệu, nó thực hiện hai xử lý đối với số liệu thô: một để mật mã văn bản thô, và một để bảo vệ sự thay đổi số liệu trái phép.Thuật toán RC4:RC4 là giải thuật mật mã hóa đối xứng được thiết kế bởi Ron Rivest (một trong nhữngngườ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ậttoán mã dòng (stream cipher), có cấu trúc đơn giản, được ứng dụng trong bảo mật WEP (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 hoàn toàn độc lập với plaintext Chiều dài key từ 1 đến 256 bytes được sử dụng để khởi tạo bảng trạng thái S 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 bytes cirhertext Sau 256 bytes, key được lặp lại Quá trình cứ 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
Giải mã là quá trình ngược lại của mã hóa, dòng ciphertext 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:
Trang 6Bước 1: Khởi tạo bảng vecto trạng thái S.
Bước 2: Tạo bảng vectơ key với key chọn
Bước 3: Tạo hoán vị S
Bước 4: Sinh key
Bước 5: X-OR để giải mã hoặc giải mã hóa
Hình 1.1 Sơ đồ thuật toán RC4
1.2 Mật mã WEP
Thủ tục mật mã WEP như sau:
Khóa bí mật 40 bit được móc nối với một vectơ khởi đầu 24 bit (IV) để được một khóa tổng 64 bit
Khóa tổng được đưa vào một bộ tạo số giả ngẫu nhiên (PRNG: pseudo random number generator) RC4 PRNG cho ra chuỗi khóa giả ngẫu nhiên dựa trên khóa đầu vào.Chuỗi nhận được sẽ được sử dụng để mật mã hóa số liệu bằng cách cộng modul 2 theo từng bit
Kết quả: các byte được mã hóa có độ dài bằng số byte số liệu sẽ truyền trên đường không dây cộng với 4 byte để kiểm tra tính toàn vẹn (ICV: intergrity check value) ICV được tạo ra bởi giải thuật toàn vẹn (CRC 32) với đầu vào là văn bản thô
Trang 7Giải thuật toàn vẹn
IV
Văn bản mật mã
giống
Hình 1.2 Mật mã hóa WEP
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ãi hoặcthay đổ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 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
1.3 Giải mật mã WEP
Để giải mật mã luồng số liệu, WEP thực hiện quá trình sau:
Bước 1: IV của bản tin thu được sử dụng để tạo ra chuỗi khóa cần thiết cho việc giải mật mã của chuỗi thu
Trang 8Bước 2: Văn bản mật mã cùng với chuỗi khóa đúng sẽ cho ta văn bản thô ban đầu và ICV.
Bước 3: Giải mật mã được kiểm chứng bằng cách thực hiện giải thuật toàn vẹn cho văn bản thô đã phục hồi và so sánh ICV1 với ICV được phát kèm với bản tin
Bước 4: Nếu ICV1 không trùng với ICV, thì bản tin thu đã bị mắc lỗi và một chỉ thị lỗi được gửi trở lại trạm phát Đầu di động có các bản tin bị lỗi sẽ không được phép truy nhập
WEP PRNG
Giải thuật toàn vẹn IV
Văn bản
mật mã
Bản tin
Văn bản thô Chuỗi
Vì tồn tại tương quan một một giữa IV và đầu ra, nên số liệu trong các giao thức bậc cao như IP thường có thể đoán được Một kẻ nghe trộm có thể xác định một số phần của chuỗi khóa được tạo ra bởi một cặp IV và việc sử dụng một cặp giống nhau của hai bản tin liền kề làm cho mức độ bảo mật bị giảm Như vậy việc thay đổi IV sau mỗi bản tin là phương pháp đơn giản nhất để đảm bảo hiệu quả WEP Nhưng hiện nay đã có một số kỹ thuật mới sử dụng các giải thuật khác nhau như 3DES và ECC cho phép đảm bảo thông
Trang 9tin tốt hơn Trong tương lai nhiều khả năng WEP sẽ được thay thế bởi AES (Advanced Encryption Standard)
Như đã xét ở trên, giao thức WEP đảm bảo cả các dịch vụ bảo mật và nhận thực Nó bao gồm giải thuật mật mã, khóa bí mật chia sẻ và vecto khởi đầu
IEEE 802.11 cung cấp hai sơ đồ định nghĩa các khóa Sơ đồ thứ nhất bao gồm một tậpbốn khóa mặc định dùng chung giữa các bộ thích ứng WLAN và AP trong một hệ thống con vô tuyến Khi một client nhận được các khóa mặc định, client này có thể thông tin an ninh với tất cả các trạm khác trong hệ thống con này Xảy ra vấn đề với các khóa này là khi phân bố chúng rộng rãi, chúng rất dễ bị xâm phạm Trong sơ đồ thứ hai, mỗi client thiết lập một quan hệ “chuyển đổi khóa” với một trạm khác Sơ đồ này an ninh hơn vì ít trạm có khóa này, nhưng việc phân phối các khóa kiểu một một này (các khóa chỉ được
sử dụng bởi hai hệ thống) có thể gặp trở ngại khi số trạm tăng
Vecto khởi đầu (IV) là một tập các ký hiệu được tạo ra một cách ngẫu nhiên và được
sử dụng cùng với các khóa bí mật chia sẻ để tạo ra các khóa mật mã thực sự Các khóa bí mật không đổi trong khi IV thay đổi định kỳ IV cho phép tăng thời hạn cảu khóa bí mật
và đảm bảo tự đồng bộ cho giải thuật Mỗi IV dẫn đến một chuỗi khóa mới, vì thế tồn tại quan hệ một một giữa IV và đầu ra Có thể thay đổi IV thường xuyên theo từng bản tin
II Nhận thực WEP
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 khung 32 bit này cho phép phía nhận biết khung 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: Intergrity Check Value)
ICV được tính trên tất cả các trường của khung 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, khung được giải mã, tính ICV và so sánh với giá trị ICV trong khung nhận được, nếu hai giá trị này giống nhau thì khung được coi như toàn vẹn, ngược lại, hai giá trị này không giống nhau thì khung sẽ bị hủy
Trang 10Mô tả hoạt động của ICV:
Hình 2.1 Hoạt động của ICV
WEP cung cấp hai chế độ nhận thực: nhận thực hệ thống mở và nhận thực bằng khóa chiasẻ
2.1 Nhận thực hệ thống mở (Open System Authentication)
a Nguyên tắc thực hiện
Nhận thực hệ thống mở là giao thức nhận thực mặc định của 802.11 Trong mô hình
hệ thống mở, việc nhận thực không được thực hiện, AP (Access Point) cho phép tất cả các yêu cầu kết nối
Kiểm soát truy cập dựa vào khóa WEP được cấu hình sẵn trên các máy đầu cuối và
AP Máy đầu cuối và AP phải có cùng khóa WEP để có thể trao đổi thông tin cho nhau Nếu như cả máy đầu cuối và AP đều không dùng WEP thì mạng WLAN không được bảo mật hay bất cứ thiết bị nào cũng có thể tham gia vào mạng và dữ liệu được truyền trong các frame không được mã hóa
Trang 11Sau quá trình nhận thực hệ thống mở, 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à AP đượ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ả ở AP và máy đầu cuối, việc làm này cơ bản cung cấp phương pháp điều khiển truy nhập
Hình 2.2 Nhận thực hệ thống mở với khóa WEP khác nhau
Chế độ này thường được sử dụng để đơn giản khai thác và khi nhà quản trị mạng không quan tâm đến vấn đề an ninh
b Điểm yếu của nhận thực hệ thống mở
Nhận thực hệ thống mở không cung cấp cách thức giúp AP xác định xem client có hợp lệ hay không Thiếu sót này là điểm yếu bảo mật khi mã hóa WEP không được sử dụng Ngay cả khi có sử dụng WEP, nhận thực hệ thống mở 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
2.2 Nhận thực khóa chia sẻ (Share Key Authentication)
a Nguyên tắc thực hiện
Trang 12Khác với quá trình nhận thực hệ thống mở, quá trình nhận thực khóa chia sẻ yêu cầu máy đầu cuối và AP được cấu hình khóa WEP giống nhau Quá trình nhận thực khóa chia
sẻ được mô tả như sau:
1 Client gửi khung chứa yêu cầu nhận thực khóa chia sẻ tới AP
2 Khi nhận được khung chứa yêu cầu nhận thực, AP trả lời bằng một khung thử thách dưới dạng không mã hóa
3 Client nhận khung thử thách sẽ thực hiện mã hóa nó bằng khóa chia sẻ và vectơ khởi đầu sau đó gửi trả lời cho AP
4 AP nhận được khung thử thách đã mã hóa bởi client sẽ thực hiện giải mã bằng cách sử dụng cùng khóa chia sẻ và so sánh nó với khung thách thức được gửi đi trước
đó Nếu chúng giống nhau thì AP sẽ gửi thông điệp cho client thông báo nhận thực thành công, ngược lại, AP sẽ gửi khung chứa lý do thất bại truy nhập
Hình 2.3 Quá trình nhận thực khóa chia sẻ
b Điểm yếu trong nhận thực khóa chia sẻ
Quá trình nhận thực khóa chia sẻ yêu cầu client sử dụng khóa WEP để mã hóa khung thử thách từ AP AP nhận thực client bằng cách giải mã khung mã hóa của client xem khung đã giải mã có giống khung thử thách không Quá trình trao đổi khung 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 (văn bản thô) dựa trên tính toán khi mã hóa Chuỗi mã hóa được bằng cách X-OR chuỗi
Trang 13dữ liệu với chuỗi mật mã Nếu chuỗi dữ liệu đượ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.
Hình 2.4 Cách trích chuỗi mật mã
Máy tấn công lắng nghe các khung trên mạng sẽ bắt được khung thử thách chưa mã hóa và khung mã hóa 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 khung có cùng IV cũng như gửi các khung 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 14Hình 2.5 Điểm yếu bảo mật trong nhận thực khóa chia sẻ
III Điểm yếu WEP, tối ưu WEP và tương lai của WEP
3.1 Đ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 mã hóadòng, điều này đòi hỏi một cơ chế đảm bảo 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àokhóa nhằm tạo ra khó 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 không mã hóa và đặttrong header của gói dữ liệu Ai bắt được gói dữ liệu trên mạng cungax có thể thấy được.Với độ dài 24 bit, giá trị câu IV dao động trong khoảng 16 777 216 trường hợp Khi cócollision Hacker có thể bắt gói dữ liệu và tìm ra được khóa WEP
Lỗ hổng thuyết phục và nguy hiểm nhất là có thể tạo được khóa WEP bằng cách thuthập một số lượng các Frame nhất định trong mạng Lỗ hổng này do cách mà WEP tạo rachuỗi mật mã Chương trình AirSnort khai thác lỗ hổng này và chứng minh khóa WEP 40hay 104 bit có thể tìm được khi phân tích 4 triệu frame Trong các mạng Wireless LAN
Trang 15có mật độ cao, khóa WEP có thể tìm được sau khoảng 1 giờ Tuy nhiên hiện nay khảnăng phá hoại mạng dùng WEP rất nhanh Sau khi mất chưa đến một phút để chặn dữliệu (gần 100 000 gói tin), có thể phá WEP chỉ trong 3 giây.
Thêm vào đó những cách tấn công này mang tính chất thụ động: những kẻ tấn côngchỉ cần thu thập các gói dữ liệu trên đường truyền mà không cần liên lạc với AccessPoint Điều này gây khó khăn cho việc phát hiện các tấn công tìm khóa WEP.Một điểm yếu nữa của WEP là trong quá trình xác thực: một chuỗi dữ liệu và chuỗi mãhóa biết trước có thể được dùng để tách chuỗi mật mã Như đã đề cập ở phần mã hóa biếttrước có thể được dùng để tách chuỗi mật mã Như đã đề cập ở phần trước, chuỗi mã hóanày chỉ có tác dụng để giải mã các frame được mã hóa mã hóa với cùng một IV.Một cách
lí tưởng, hacker có thể thu thập tất cả chuỗi mật mã để tạo thành cơ sở dữ liệu chuỗi mật
mã để giải mã các frame được mã hóa với cùng IV Một cách lý tưởng, hacker có thể thuthập tất cả chuỗi mật mã để tạo thành cơ sowe dữ liệu chuỗi mật mã để có thể giải mã tất
cả chuỗi mật mã để tạo thành cơ sở dữ liệu chuỗi mật mã để có thể giải mã tất cả chuỗithực hiện cho thấy cần khoảng 21 GB dung lượng để tạo ra cơ sở dữ liệu như vậy Trongmạng WLAN nếu không sử dụng nhận thực Shared Key thì hacker có thể thu thập đượcmột số lượng lớn chuỗi mật mã trong thời gian ngắn bằng cách tấn công đảo bit
3.2 Giải pháp tối ưu cho WEP
Mặc dù không hẳn là một điểm yếu nhưng WEP chỉ hỗ trợ khóa tĩnh được chia sẻtrước Quá trình xác thực trong 802.11 là xác thực thiệt bị chứ không xác thực người sửdụng thiết bị, khi card wireless bị mất thì nó trở thành vấn đề gán khóa WEP lại cho tất cảthiết bị wireless trong mạng
Vấn đề gán khóa có thể chấp nhận được nếu như mạng nhỏ nhưng trong mạng trungbình và mạng lớn có số thiết bị wireless có thể lên đến hàng nghìn, cần phải có phươngpháp phân phối khóa hoặc người quản trị mạng phải quản lý chặt tất cả các thiết bịwireless trong mạng