Sau 5 năm kể từ khi được cụng bố rộng rói ra cụng chỳng, chuẩn IEEE 802.11 chỉ cú duy nhất một phương phỏp bảo mật là WEP. Năm 2000, khi WLAN được sử dụng nhiều hơn thỡ vấn đề bảo mật được quan tõm chỳ ý và chẳng bao lõu sau những điểm yếu của WEP đó bị phỏt hiện. Cuối năm 2001 cỏc cụng cụ dựng để tấn cụng WEP đó được cụng bố trờn Internet.
Đối với nhiều người WEP là cỏch lựa chọn duy nhất cho tới khi cỏc phương phỏp bảo mật IEEE 802.11 mới được ỏp dụng. Hầu hết những cuộc tấn cụng dựa vào việc thu thập được một lượng nhất định những gúi tin. Đối với cỏc hộ gia đỡnh, nơi mà lưu lượng dữ liệu được truyền đi rất nhỏ thỡ WEP vẫn là một lựa chọn tương đối an toàn. Phần này sẽ tỡm hiểu kỹ cỏch hoạt động của WEP, đõu là điểm yếu của nú và những kẻ tấn cụng phải làm gỡ để vụ hiệu húa WEP.
2.3.1.1. Vấn đề chứng thực
Cú hai vấn đề cần phải quan tõm khi núi đến WEP, đầu tiờn là chứng thực và thứ hai là mó húa.
Với IEEE 802.11 WEP, trong giai đoạn chứng thực một thiết bị mới phải chứng minh rằng nú đỳng là thành viờn của nhúm, vậy nú chứng minh bằng cỏch nào? Về phớa AP mà núi, nếu một thiết bị cú thể chứng tỏ nú đỳng là đỏng tin cậy thỡ cú thể tin địa chỉ MAC của nú khụng phải là địa chỉ giả mạo và nú cho phộp thiết bị mới này kết nối vào mạng. Tuy nhiờn thật khụng may là chẳng cú dấu hiệu đảm bảo nào được sử dụng trong quỏ trỡnh chứng thực vỡ thế mà chẳng cú cơ sở để biết liệu gúi tin đến từ thiết bị đỏng tin cậy hay là khụng. Kiểu chứng thực này thực sự khụng đảm bảo tin cậy và do đú nú đó bị loại bỏ khỏi tớnh năng của WLAN, cho dự là nú nằm trong chuẩn IEEE 802.11.
Dự yếu nhưng một số hệ thống vẫn sử dụng kiểu chứng thực của chuẩn IEEE 802.11 ban đầu. Chỳng ta đó biết rằng IEEE 802.11 sử dụng 3 kiểu gúi tin là gúi tin điều khiển, gúi tin quản lý và gúi tin dữ liệu. Giai đoạn chứng thực sử dụng gúi tin
quản lý, để chứng thực trong trường hợp khụng cú bảo mật STA gửi một gúi tin yờu cầu chứng thực và AP gửi trả lại gúi tin bỏo chứng thực thành cụng. Đối với chứng thực dựa trờn WEP cú 4 gúi tin được trao đổi. Đầu tiờn STA gửi yờu cầu chứng thực, sau đú AP gửi trả lại một gúi tin challenge. STA đỏp lại gúi tin challenge đú để chứng tỏ rằng nú biết khúa bảo mật và nếu được chấp nhận AP sẽ gửi lại gúi tin bỏo chứng thực thành cụng.
Hỡnh 2.8: Quỏ trỡnh chứng thực diễn ra trong WEP
Về mặt nguyờn tắc, nếu một AP hoạt động ở chế độ khụng cú bảo mật nú luụn luụn chấp nhận cỏc yờu cầu chứng thực và đỏp lại với một gúi tin bỏo chứng thực thành cụng. Tuy nhiờn, trong thực tế nhiều hệ thống cung cấp cỏc phương phỏp riờng của mỡnh, phổ biến nhất là sử dụng danh sỏch địa chỉ MAC. AP cú một danh sỏch cỏc địa chỉ MAC mà nú cho phộp truy nhập vào mạng. Danh sỏch này do người quản trị tạo ra và lưu lại trờn AP. Quỏ trỡnh chứng thực dựa vào danh sỏch này, tức là nếu STA cú địa chỉ MAC nằm trong danh sỏch thỡ nú được phộp truy cập vào mạng, nếu khụng, nú sẽ bị từ chối. Đương nhiờn là khụng thể ngăn chặn được những địa chỉ MAC giả, nhưng dự sao thỡ nú cũng cú tỏc dụng nhất định nhằm trỏnh việc vụ tỡnh truy cập nhầm mạng.
Chứng thực WEP với mục đớch là chứng minh với AP rằng STA biết khúa bảo mật. Khi một STA yờu cầu chứng thực, AP gửi tới nú một số ngẫu nhiờn được gọi là challenge text. Đõy là một số 128 bit bất kỳ (giả ngẫu nhiờn). STA sau đú mó húa số này bằng khúa bảo mật và gửi trả lại cho AP. Do AP đó lưu lại số ngẫu nhiờn mà nú đó gửi đi, đồng thời nú cũng cú khúa bảo mật mà STA cú từ đú nú cú thể giải mó số mà STA gửi đến, so sỏnh hai kết quả nếu hai kết quả trựng nhau thỡ STA đú là thiết bị biết khúa mật mó và đỏng tin cậy. Ở đõy cú một vấn đề là STA chẳng cú cỏch nào biết được liệu AP cú biết khúa bảo mật hay khụng. Nếu một kẻ nào đú đang theo dừi, thỡ vụ tỡnh ta đó cho hắn ta một cơ hội bẻ khúa vỡ hắn đó cú thể cú trong tay cả số ngẫu
nhiờn và số đó được mó húa bằng khúa bảo mật, dựa vào đú cú thể tỡm ra khúa. Đú cũng là lý do tại sao hiệp hội Wifi Alliance loại bỏ kiểu trao đổi này.
Dưới đõy là định dạng của gúi tin chứng thực, cho dự nhiều gúi tin được trao đổi nhưng nú cú chung một dạng:
Algorithm Num Transaction Seq. Status Code Challenge Text
Hỡnh 2.9: Định dạng của gúi tin chứng thực
• Algorithm Num: chỉ kiểu chứng thực được sử dụng:
o 0 – Khụng cú bảo mật.
o 1 – Cú sử dụng khúa bảo mật (WEP).
• Transaction Seq.: chỉ ra ta đang ở phần nào của quỏ trỡnh chứng thực. Gúi tin thứ nhất ứng với giỏ trị 1, gúi tin thứ hai ứng với giỏ trị 2 và gúi tin thứ 3 (chỉ dựng với WEP) cú giỏ trị là 3.
• Status Code: được gửi cuối cựng để thụng bỏo yờu cầu chứng thực cú thành cụng hay khụng.
• Challenge Text: là số ngẫu nhiờn như đó được núi ở trờn.
2.3.1.2. Vấn đề mó húa
Ngoài việc chứng thực, mó húa là một phần khụng thể thiếu được khi núi đến WEP. Để bảo vệ những thụng tin cần thiết, trỏnh nguy cơ bị lộ thụng tin thỡ mó húa chớnh là giải phỏp được tớnh đến.
Khi WEP được kớch hoạt, dữ liệu được truyền đi dưới dạng mó húa nờn những kẻ tấn cụng cú lấy được gúi tin cũng khụng giải mó được. Để giải mó gúi tin chỳng ta phải biết khúa. Chuẩn IEEE 802.11 ban đầu đó đưa ra 2 quỏ trỡnh: trước hết là phải chứng thực sau đú mới mó húa. Như đó núi ở phần trước, phương phỏp chứng thực ở đõy gần như khụng cú ý nghĩa, nú đụi khi cũn nguy hơn là khụng sử dụng. Vỡ thế, hầu hết cỏc hệ thống WLAN bỏ qua giai đoạn chứng thực và chuyển luụn sang mó húa sau khi đó tạo được kết nối.
Cỏc hệ thống bảo mật cú thể dựa vào việc mó húa theo chuỗi hoặc mó húa khối. WEP sử dụng thuật toỏn mó húa chuỗi gọi là RC4 để mó húa cỏc gúi dữ liệu. RC4 là tờn viết tắt của Rivest Cipher 4 do Ron Rivest thiết kế vào năm 1987. Ở mức độ cao nhất, RC4 giống như là một hộp đen, nú lấy một byte từ chuỗi dữ liệu và tạo một byte khỏc tương ứng ở đầu ra. Việc giải mó là quỏ trỡnh ngược lại và vẫn sử dụng khúa như quỏ trỡnh mó húa.
Hỡnh 2.10: Mó húa chuỗi
Một trong những ưu điểm của RC4 là nú dễ thực hiện và khụng sử dụng bất kỳ cỏc phộp toỏn phức tạp hay tốn thời gian tớnh toỏn nào giống như phộp nhõn. Núi chung đõy cũng là một thỏch thức đối với những nhà thiết kế thuật toỏn, làm sao để
thỏa món vừa đảm bảo tớnh bảo mật lại vừa dễ thực hiện. Cú 2 giai đoạn chớnh trong việc dựng thuật toỏn RC4. Giai đoạn đầu là khởi tạo: một số bảng dữ liệu được tạo nờn dựa trờn khúa đó cho, giai đoạn hai: dữ liệu được đưa qua dõy truyền mó.
Trong trường hợp đối với WEP, cả giai đoạn khởi tạo và giai đoạn mó húa xảy ra đối với từng gúi. Mỗi gúi được coi như là một chuỗi dữ liệu, điều này đảm bảo rằng nếu một gúi bị mất thỡ gúi tin tiếp theo vẫn cú thể giải mó được.
Cú một vấn đề trong việc sử dụng giỏ trị khúa cố định. Cho dự khúa đú cú được thay đổi đi chăng nữa, nú vẫn gặp phải vấn đề đối với cỏc gúi tin khi đi qua hệ thống mó húa đú là tất cả cỏc gúi tin được mó húa với cựng một khúa. Giả sử ta dựng thuật toỏn RC4 với khúa đó cho và với dữ liệu là “asfecewa” và giả sử ta thu được đoạn mó “&(#cheiv”. Nú trụng cú vẻ ngẫu nhiờn, tuy nhiờn, do khúa khụng thay đổi nờn cứ lần nào ta cho dữ liệu vào là “asfecewa” thỡ cũng được kết quả tương tự như trờn. Một mặt nào đú nú cú thể chấp nhận được nhưng mặt khỏc nú lại là một mối nguy hiểm, tạo điều kiện cho kẻ khỏc cơ hội giải mó. Nếu như biết được cỏc đoạn dữ liệu mó húa giống nhau tại những vị trớ cho trước cú thể đoỏn được là dữ liệu ban đầu cú sự lặp lại.
Để giải quyết tỡnh huống này vector khởi tạo IV được sử dụng, nú là một khỏi niệm khỏ đơn giản. Thay vỡ chỉ sử dụng khúa cố định để mó húa ta cú thể kết hợp khúa này với 24 bit để làm sao cho mỗi gúi tin mó húa sẽ khỏc nhau cho dự nội dung của chỳng cú giống nhau. Số 24 bit này chớnh là vector khởi tạo IV, nú biến khúa 104 bit thành khúa 128 bit. Gọi là mó húa 128 bit nghe cú vẻ khụng được đỳng cho lắm vỡ IV được gửi đi cựng với gúi tin được mó húa nhưng chớnh nú lại khụng được mó.
Hỡnh 2.11: Sự kết hợp của IV với khúa
Do giỏ trị của IV luụn thay đổi nờn khi kết hợp với khúa để mó húa đó tạo ra cỏc gúi tin được mó hoàn toàn khỏc nhau cho dự dữ liệu được mó giống nhau. Để đảm bảo an toàn, khụng bao giờ được sử dụng 2 lần cựng một IV với cựng một khúa. Do IV khụng được mó húa và dễ dàng đọc được từ gúi tin gửi đi nờn việc lưu lại để so sỏnh với cỏc giỏ trị sau là việc đơn giản.
Một điều khụng may là IV trong IEEE 802.11 WEP chỉ cú 24 bit mà thụi. Giỏ trị này cú vẻ khỏ lớn nhưng tớnh toỏn một lỳc ta sẽ thấy nú quả thực khụng phải như vậy. Một số 24 bit sẽ cú giỏ trị từ 0 đến 16777216, tức là vào khoảng gần 17 triệu giỏ trị IV khỏc nhau. Nếu một AP hoạt động liờn tục với tốc độ 11 Mbps cú thể truyền và nhận 700 gúi cú kớch thước trung bỡnh trong một giõy. Nếu mỗi gúi ứng với một IV
khỏc nhau thỡ khụng đầy 7 tiếng sau nú đó cạn kiệt. Do rất ớt người thay đổi khúa mỗi ngày nờn việc sử dụng lại IV chắc chắn sẽ xảy ra.
Những vấn đề với IV chỉ ra rằng thực sự là khú thiết kế cỏc giao thức bảo mật dựa trờn việc mó húa chuỗi bởi vỡ trạng thỏi của quỏ trỡnh mó húa khụng được khởi động lại trong toàn bộ chuỗi đú. Một phiờn bản khỏc của WEP là TKIP cũng dựa trờn RC4 nhưng khắc phục được việc tỏi sử dụng IV sẽ được đề cập đến ở phần sau.
2.3.1.3. Cơ chế hoạt động của WEP
Nếu trong một mạng cú kết nối WLAN thỡ dữ liệu bao giờ cũng phải đi qua tầng dịch vụ mạng IEEE 802.11 MAC. Hay núi một cỏch khỏc, gúi dữ liệu tới WLAN cựng với những thụng tin cần thiết để gửi gúi tin đến đớch, gúi dữ liệu này được gọi là một MSDU. Nếu khụng gặp lỗi nào, MSDU này sẽ được gửi đến tầng dịch vụ MAC của thiết bị đớch và sẽ được hệ điều hành hay trỡnh điều khiển đưa đến đỳng ứng dụng đang chạy. Tuy nhiờn, trước khi được chuyển thành dạng súng điện từ, MSDU cú thể được chia thành những phần nhỏ hơn, gọi là cỏc phõn mảnh (fragment). Mỗi một fragment được mó húa bởi WEP. Một MAC header được gắn vào phần đầu và từ kiểm tra được gắn vào phần cuối.
Như vậy, từ một MSDU ban đầu sẽ được phõn chia ra thành cỏc phần dữ liệu nhỏ hơn (fragment), đồng thời cỏc byte thụng tin khỏc cũng được thờm vào chứ khụng chỉ cú mỗi phần dữ liệu được mó húa. Mỗi phần nhỏ đú được gọi là một MPDU.
Quỏ trỡnh này coi dữ liệu như một khối gồm cỏc byte, độ lớn tựy theo MSDU ban đầu cũng như việc chọn lựa độ lớn của fragment, nú thường cú giỏ trị từ 10 đến 1500 byte. Bước đầu tiờn trong quỏ trỡnh mó húa là thờm giỏ trị kiểm tra tớnh toàn vẹn ICV.
Mục đớch của việc sử dụng ICV là để phỏt hiện sự thay đổi nội dung gúi tin trong quỏ trỡnh nú được truyền đi. Đối với cả cỏc gúi tin được mó và khụng được mó, cần cú một số kiểm tra nhằm phỏt hiện bit sai lệch trong quỏ trỡnh truyền tin. CRC là một số 4 byte được thờm vào cuối của khung ngay trước khi xử lý để truyền. Nếu cú một bit bị sai, bờn thu sẽ phỏt hiện ra ngay dựa vào giỏ trị CRC và hủy gúi tin đú. Cú nhiều khi khụng phỏt hiện được sự thay đổi này do kẻ gian đó tớnh toỏn lại giỏ trị CRC và thay nú vào gúi tin.
ICV cũng tương tự như CRC, chỉ cú điều nú được tớnh toỏn và thờm vào trước khi mó húa, cũn CRC thỡ về nguyờn tắc vẫn được thờm vào sau khi mó húa. Về mặt lý thuyết do ICV được mó húa nờn khụng cú kẻ nào cú thể tớnh toỏn lại nhằm thay đổi nội dung, nhưng thực tế lại là chuyện khỏc.
Hỡnh 2.12: Thờm ICV
Sau khi ICV được thờm vào, khung này đó sẵn sàng để mó húa. Trước tiờn, hệ thống phải lựa chọn một IV và kết hợp nú với khúa, thực hiện việc mó húa bằng thuật toỏn RC4, từng byte dữ liệu và khối ICV lần lượt được mó húa. Ứng với một byte đầu vào thỡ tương ứng cú một byte được mó húa ở đầu ra, quỏ trỡnh này diễn ra liờn tục cho đến khi toàn bộ dữ liệu được mó, đõy chớnh là kiểu mó húa chuỗi.
Để bờn thu cú thể giải mó được, cả KeyID và IV cũng phải được thờm vào, nú chiếm tổng cộng 4 byte: 3 byte đối với IV (24 bit) và 1 byte với KeyID (0,1,2 hoặc 3).
Hỡnh 2.13: Thờm IV và KeyID
Cuối cựng, MAC header và CRC được thờm vào lần lượt vào đầu và cuối, trong phần MAC cú một bit thụng bỏo cho bờn thu biết gúi tin được mó húa WEP, nhờ đú nú biết cỏch để xử lý.
Sau khi nhận được gúi tin mà bờn phỏt gửi đến, bờn thu sẽ thực hiện quy trỡnh như sau: nhờ vào một bit ở phần MAC header để biết gúi dữ liệu nhận được cú mó húa hay khụng, nếu cú, nú đọc và lưu lại giỏ trị IV, tiếp đến là đọc KeyID và chọn khúa giải mó, khởi tạo chương trỡnh mó RC4 và thực hiện quỏ trỡnh giải mó. Nếu ta thực hiện việc giải mó hai lần thỡ dữ liệu lại trở lại trạng thỏi mó húa như ban đầu, do đặc điểm của thuật toỏn mó húa mà việc mó húa và giải mó là như nhau, tức là vẫn thuật toỏn ấy, nếu đầu vào là bản rừ thỡ đầu ra là bản mó và nếu đầu vào vẫn bản mó ấy thỡ đầu ra lại trở lại bản rừ ban đầu. Sau khi thu được bản rừ ban đầu, bước cuối cựng là tớnh ICV và đảm bảo rằng khụng cú sự thay đổi nào đối với dữ liệu gốc. Nếu mọi việc hoàn thành, chỉ riờng phần dữ liệu mới được xử lý ở những cụng đoạn sau mà thụi, tất cả những phần thụng tin thờm vào đến thời điểm này khụng cũn cần thiết nữa.
2.3.1.4. Những điểm yếu của WEP 2.3.1.4.1. Điểm yếu trong chứng thực
Trong mụi trường vụ tuyến, ta luụn cần phải chứng thực cả hai chiều. Mạng muốn chứng thực người dựng, nhưng người dựng cũng cần phải biết mạng đú cú đỳng là mạng mà mỡnh muốn truy cập hay khụng. Điều này rất quan trọng đối với WLAN bởi vỡ việc thiết lập cỏc AP giả là cực kỳ đơn giản.
Những yờu cầu cơ bản cho việc chứng thực trong WLAN là:
• Phương phỏp nhận dạng đủ mạnh.
• Cú biện phỏp lưu đặc điểm nhận dạng đối với một loạt cỏc trao đổi .