802.11有線等效加密WEP

来源:https://www.cnblogs.com/hustluotao/archive/2020/02/25/12347782.html
-Advertisement-
Play Games

有線等效加密(WEP)標準是802.11無線安全早期的解決方案,WEP並不安全。 既然WEP並不安全,為什麼還要學習WEP呢? 1. WEP簡單,相比後續出現的加密協議,它不要求有多麼強大的計算能力。一些老的設備,特別是缺乏足夠處理能力的手持設備,WEP已經是最佳選擇; 2. 較新的技術,如TKIP ...


有線等效加密(WEP)標準是802.11無線安全早期的解決方案,WEP並不安全。

既然WEP並不安全,為什麼還要學習WEP呢?

  1. WEP簡單,相比後續出現的加密協議,它不要求有多麼強大的計算能力。一些老的設備,特別是缺乏足夠處理能力的手持設備,WEP已經是最佳選擇;
  2. 較新的技術,如TKIP,仍舊會用到WEP的幀處理能力;

1. WEP的密碼學背景

WEP用以保護數據的RC4密碼屬於對稱性(密鑰)流密碼(stream cipher),流密碼會用到稱為密鑰流(keystream)的位流,密鑰流隨後會與信息結合,產生密文(ciphertext)。為了還原原始信息,接收端會以相同的密鑰流處理密文。RC4會利用異或(exclusive OR,簡稱XOR)運算結合密鑰流與密文。如下圖所示。

流密碼的運作方式通常是先選用一把較短的密鑰,通過偽隨機數生成器(pseudorandom number generator,PRNG)將之展開為與信息等長的偽隨機數密鑰流,如下圖所示。

2. WEP的加密操作

通信安全有三個主要目的:

  • 機密性

    防止數據不受未授權的第三者攔截;

  • 完整性

    確保數據沒有被修改;

  • 真實性

    真實性是所有安全策略的基礎,因為數據的可信度部分取決於數據源的可靠性;

WEP的數據處理流程如下圖所示:

驅動程式以及介面硬體負責處理數據,然後送出加密過的封包,順序如下:

  1. 802.11幀被放在隊列中等待發送。幀由標頭(Header)和有效載荷(Payload)組成,根據有效載荷計算出完整性校驗值ICV,並放在有效載荷尾部;
  2. 隨後組裝幀加密密鑰(或稱WEP種子),WEP種子分為兩部分:秘鑰(secret key)以及初始向量(IV)。添加IV是為了避免出現使用相同密鑰流進行加密的情況,802.11並未限制選取IV時非得使用何種演算法;
  3. 幀加密密鑰被當成RC4密鑰,用以加密步驟1有效載荷和ICV,整個加密過程通常通過RC4專用電路來完成;
  4. 有效載荷加密之後,就可以組裝待傳的幀。802.11標頭與加密過的有效載荷之間插入WEP標頭,除了IV,WEP標頭中還包含密鑰編號,WEP最多允許定義4個密鑰。一旦附加上最後的標頭,就可以針對真個MAC幀,計算出802.11幀校驗碼(FCS)。

以上闡述了WEP幀的組裝流程,解密的過程剛好相反。一旦使用WEP進行加密,幀主體就會增加8個位元組。其中4個位元組作為幀主體的IV標頭,另外4個位元組作為ICV標尾,如下圖所示。

IV標頭使用3個位元組來容納長度為24位的IV,第四個位元組則包含填充位以及密鑰標識符(key ID)。數據幀的32位迴圈冗餘校驗(CRC)碼提供了完整性檢查,附加於幀主體之後,同時被RC4保護。

3. 關於WEP的種種問題

  1. 手動管理密鑰對於變換密鑰工作量大;

  2. 標準的靜態WEP只提供長度為40位的密鑰,業界標準所提供的密鑰長度最多只達到104位;

  3. 一旦重覆使用密鑰流(keystream),流密碼(stream cipher)就容易被識破。可供使用的IV值(24位)並不大,容易重覆;

  4. 如果不常更換密鑰,攻擊者就可以採集解密字典(decryption dictionarie),即積累以相同密鑰流加密的大量幀,那麼破解密鑰就指日可待;

  5. WEP使用CRC進行完整性檢查,CRC並沒有密碼學上的安全性;

4. 動態WEP

不同於讓網路中所有工作站共用一個靜態密鑰來加密所有幀,動態WEP讓網路上所有工作站使用一個密鑰來加密廣播幀,但個別工作站使用自己的映射密鑰來加密單播幀。動態WEP每隔一段時間就會產生並分配新的密鑰。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 微信公眾號dotnet跨平臺2020年初做的一個關於中國.NET開發者調查收到了開發者近 1400 條回覆。這份調查報告涵蓋了開發者工具鏈的所有部分,包括編程語言、應用架構、應用伺服器、運行時平臺、框架技術、框架配置、IDE、.NET/.NET Core 發行版部署模式、構建工具和Kubernete... ...
  • screen是一款由GNU計劃開發的用於命令行終端切換的自由軟體。用戶可以通過該軟體同時連接多個本地或遠程的命令行會話,併在其間自由切換。GNU Screen可以看作是視窗管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。 screen重要性 screen的重要性,主要是體現在它 ...
  • 通過前面十餘篇文章的介紹,相信已經初步入門Linux本地管理的基本方法了,後續的文章將介紹Linux中常用的服務部署以及如何為外部提供相應的服務。 系列文章第三篇“linux入門系列3 linux遠程登陸工具”初步介紹了幾款用於Linux遠程登錄管理的工具,本文再來詳細講解下SSH協議以及對應的服務 ...
  • HyperBoot_S32K116 is a UART bootloader developed for my S32K116 EVB hardware. so that the application can be reflashed by UART. ...
  • rpm | 升級軟體包 檢查已安裝包 rpm -qa | grep samba samba-common-3.6.9-164.el6.x86_64 samba-3.6.9-164.el6.x86_64 samba-winbind-clients-3.6.9-164.el6.x86_64 samba- ...
  • 筆者今天升級了VSCode,安裝完後發現Dock(程式塢)沒有VSCode的圖標了,導致切換應用非常不方便。 具體情況就像下麵這張圖,VSCode明明開著,但是在Dock找不到VSCode了。 解決辦法就是在終端執行以下命令就可以了: 其實就相當於重啟Dock。在看VSCode的圖標已經回來了。 原 ...
  • 最近需要開發一些內核模塊,進行探究linux內核的一些特征,現在把一些遇到的比較好的文章和知識點,進行簡要記錄和備忘; 內核模塊開發相關鏈接: https://www.thegeekstuff.com/2013/07/write-linux-kernel-module/ 入門教程;insmod, r ...
  • SRAM 即靜態RAM.它也由晶體管組成,SRAM的高速和靜態特性使它們通常被用來作為Cache存儲器。電腦的主板上都有Cache插座。 下圖所示的是一個SRAM的結構框圖。 由上圖看出SRAM一般由五大部分組成,即存儲單元陣列、地址解碼器(包括行解碼器和列解碼器)、靈敏放火器、控制電路和緩衝/驅 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...