- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優缺點
- 密碼學 - 現代
- 密碼學 - 傳統密碼
- 密碼學 - 加密需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力破解攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰吊銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼操作模式
- 分組密碼操作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 經典密碼
- 密碼學 - 反向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 換位密碼
- 密碼學 - 加密換位密碼
- 密碼學 - 解密換位密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼加密
- 密碼學 - 簡單替換密碼解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼實現
- 現代密碼
- Base64 編碼和解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單字母替換密碼
- 密碼學 - 單字母替換密碼破解
- 密碼學 - 多字母替換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - 希爾密碼
- 多字母替換密碼
- 密碼學 - 一次性密碼本密碼
- 一次性密碼本密碼的實現
- 密碼學 - 換位技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列置換密碼
- 密碼學 - 隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準
- 密碼學 - 三重DES
- 密碼學 - 雙重DES
- 高階加密標準
- 密碼學 - AES 結構
- 密碼學 - AES 變換函式
- 密碼學 - 位元組替換變換
- 密碼學 - 行移位變換
- 密碼學 - 列混合變換
- 密碼學 - 輪金鑰加變換
- 密碼學 - AES 金鑰擴充套件演算法
- 密碼學 - Blowfish 演算法
- 密碼學 - SHA 演算法
- 密碼學 - RC4 演算法
- 密碼學 - Camellia 加密演算法
- 密碼學 - ChaCha20 加密演算法
- 密碼學 - CAST5 加密演算法
- 密碼學 - SEED 加密演算法
- 密碼學 - SM4 加密演算法
- IDEA - 國際資料加密演算法
- 公鑰(非對稱)密碼學演算法
- 密碼學 - RSA 演算法
- 密碼學 - RSA 加密
- 密碼學 - RSA 解密
- 密碼學 - 建立 RSA 金鑰
- 密碼學 - RSA 密碼破解
- 密碼學 - ECDSA 演算法
- 密碼學 - DSA 演算法
- 密碼學 - Diffie-Hellman 演算法
- 密碼學中的資料完整性
- 密碼學中的資料完整性
- 訊息認證
- 密碼學數字簽名
- 公鑰基礎設施
- 雜湊
- MD5(訊息摘要演算法 5)
- SHA-1(安全雜湊演算法 1)
- SHA-256(安全雜湊演算法 256 位)
- SHA-512(安全雜湊演算法 512 位)
- SHA-3(安全雜湊演算法 3)
- 雜湊密碼
- Bcrypt 雜湊模組
- 現代密碼學
- 量子密碼學
- 後量子密碼學
- 密碼學協議
- 密碼學 - SSL/TLS 協議
- 密碼學 - SSH 協議
- 密碼學 - IPsec 協議
- 密碼學 - PGP 協議
- 影像和檔案加密
- 密碼學 - 影像
- 密碼學 - 檔案
- 隱寫術 - 影像
- 檔案加密和解密
- 密碼學 - 檔案加密
- 密碼學 - 檔案解密
- 物聯網中的密碼學
- 物聯網安全挑戰、威脅和攻擊
- 物聯網安全的加密技術
- 物聯網裝置通訊協議
- 常用加密技術
- 自定義構建加密演算法(混合加密)
- 雲加密
- 量子密碼學
- 密碼學中的影像隱寫術
- DNA 密碼學
- 密碼學中的一次性密碼 (OTP) 演算法
- 區別
- 密碼學 - MD5 與 SHA1
- 密碼學 - RSA 與 DSA
- 密碼學 - RSA 與 Diffie-Hellman
- 密碼學與密碼學
- 密碼學 - 密碼學與密碼分析
- 密碼學 - 經典與量子
- 密碼學與隱寫術
- 密碼學與加密
- 密碼學與網路安全
- 密碼學 - 流密碼與分組密碼
- 密碼學 - AES 與 DES 密碼
- 密碼學 - 對稱與非對稱
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
物聯網裝置通訊協議
連線是物聯網生態系統的支柱。通訊協議使物聯網裝置能夠相互連線並共享資料。
如果您想在您的組織中實施物聯網系統,您需要了解主要的物聯網協議以及它們的工作原理。本章將討論頂級物聯網通訊協議及其特性。
物聯網通訊協議?
物聯網裝置透過無線網路和稱為物聯網通訊協議(或簡稱物聯網協議)的一組規則進行連線。物聯網裝置可以使用物聯網協議相互通訊。
選擇物聯網協議的因素
完美的物聯網通訊協議取決於特定裝置的特殊要求和限制。以下因素決定了物聯網協議的選擇 -
- 地理位置是構成生態系統的兩個或多個裝置之間的物理距離。
- 功耗要求是指物聯網裝置持續執行的時間。
- 物理障礙是物聯網生態系統內裝置之間存在的障礙,例如牆壁、山脈、建築物等。
物聯網裝置協議列表
物聯網裝置的通訊協議就像用來相互通訊的語言。以下是一些頂級協議 -
1. MQTT(訊息佇列遙測傳輸)
MQTT 是一種訊息協議或用於機器對機器通訊的規則集合,遵循預定義的標準。智慧感測器、可穿戴裝置和其他物聯網 (IoT) 裝置通常需要在資源有限的網路(頻寬有限)上傳輸和接收資料。這些物聯網裝置使用 MQTT 進行資料傳輸,因為它易於設定並有效地傳達物聯網資料。MQTT 支援裝置與雲之間的訊息傳遞。
MQTT 的重要性
由於 MQTT 協議能夠提供以下優勢,因此已成為物聯網資料傳輸的行業標準 -
- 便攜且高效 - MQTT 甚至可以在小型微控制器上實現,因為它在部署到物聯網裝置時使用的資源很少。例如,兩個資料位元組可以是 MQTT 控制訊息的最小大小。此外,MQTT 訊息頭被減少以最大化網路頻寬。
- 適應性強 - 實現 MQTT 需要少量程式碼,並且在執行時功耗非常低。協議的內建功能支援大量物聯網裝置連線。因此,您可以透過實現 MQTT 協議來連線數百萬個此類裝置。
- 可靠性 - 許多物聯網裝置連線到不可靠的蜂窩網路,這些網路的吞吐量低且延遲過高。由於 MQTT 中的內建功能,物聯網裝置可以更快地重新連線到雲。為了為物聯網用例提供可靠性,它還指定了三種不同的服務質量級別:最多一次 (0)、至少一次 (1) 和僅一次 (2)。
- 安全 - 開發人員可以透過使用 TLS1.3、OAuth、客戶管理證書等現代身份驗證協議,輕鬆加密通訊並對使用者和裝置進行身份驗證。
MQTT 元件
MQTT 透過以下方式配置客戶端和代理來支援釋出/訂閱模型 -
- 客戶端 - 從伺服器到微控制器,任何執行 MQTT 庫的裝置都是 MQTT 客戶端。客戶端在傳送和接收訊息時分別扮演釋出者和接收者的角色。簡單來說,MQTT 客戶端裝置是任何使用 MQTT 進行基於網路通訊的裝置。
- 代理 - 後端系統,用於同步不同客戶端之間傳遞的訊息是 MQTT 代理。代理的職責包括接收和篩選訊息、識別哪些客戶端訂閱了每個訊息以及將訊息轉發給他們。它還負責其他職責,例如 -
- 驗證和批准 MQTT 客戶端。
- 將訊息傳輸到其他系統以供分析。
- 處理客戶端會話和丟失的訊息。
- MQTT 連線。
- 連線 - MQTT 連線用於啟動客戶端與代理之間的通訊。客戶端向 MQTT 代理傳送 CONNECT 訊息以啟動連線。代理透過傳送 CONNACK 訊息來確認已建立連線。MQTT 客戶端和代理需要 TCP/IP 堆疊才能進行通訊。客戶端僅與代理通訊,並相互連線。
2. HTTP(超文字傳輸協議)
HTTP(超文字傳輸協議)是一種用於互連、協作、超媒體資訊系統的應用層協議。自1990年以來,它一直是全球資訊網(網際網路)資料通訊的基礎。HTTP 是一種通用的、無狀態的協議,可以透過操作其報頭、錯誤程式碼和請求方法來擴充套件以用於其他用途。
簡單來說,HTTP 是一種基於 TCP/IP 的通訊協議,用於在全球資訊網上傳送資料,包括圖片檔案、HTML 檔案和查詢結果。預設埠為 TCP 80,但也可以使用其他埠。它提供了一種計算機之間進行通訊的通用方法。HTTP 規範概述了客戶端請求資料到伺服器的格式和傳輸方法。
HTTP 的特性
三個基本特性使 HTTP 成為一個簡單但有效的協議:
- 無連線協議 - 充當 HTTP 客戶端的瀏覽器發出 HTTP 請求,然後等待響應。伺服器響應請求並處理請求後,客戶端斷開連線。因此,只有在當前請求和響應期間,客戶端和伺服器才知道彼此的存在。當客戶端和伺服器第一次連線時,會發出更多請求。
- 媒體獨立性 - 由於 HTTP 是媒體獨立的,因此只要客戶端和伺服器都能夠處理資料的內容,任何型別的資料都可以透過它傳送。客戶端和伺服器都必須使用正確的 MIME 型別來指定內容型別。
- 無狀態性 - 如前所述,HTTP 的無狀態性直接導致了其無連線的特性。只有在當前請求期間,伺服器和客戶端才知道彼此的存在。此後,它們都會忘記對方。協議的特性阻止客戶端和瀏覽器在不同網頁上的請求之間儲存資料。
3. CoAP(受限應用協議)
基於 Web 的應用層 CoAP 協議是為資源受限的裝置(如感測器)而建立的。感測器的處理能力和記憶體都受到限制。超文字傳輸協議 (HTTP) 與 CoAP 協議類似。CoAP 利用了表述性狀態轉移 (REST) 架構。
CoAP 如何工作?
CoAP 充當資源受限裝置的 HTTP,使感測器和執行器等裝置能夠透過物聯網進行通訊。這些感測器和執行器作為系統的一部分,透過傳輸資料進行管理和貢獻。該協議的設計目標是降低功耗和網路開銷,從而確保在頻寬有限和擁塞嚴重的情況下具有彈性。在 TCP 協議(如 MQTT)由於高擁塞或連線不良而無法有效共享資料和互動的網路中,CoAP 可以正常工作。
此外,由於 CoAP 具有高效且傳統的特性,因此在低訊號質量下工作的裝置可以持續地通訊資料,並且軌道衛星可以成功地維持其遠距離通訊。此外,CoAP 支援數十億節點的網路。預設使用的 DTLS 引數在安全性方面類似於 128 位 RSA 金鑰。
UDP 是 COAP 使用的基本網路協議。簡單來說,COAP 是一種類似於 HTTP 的客戶端-伺服器物聯網協議,其中客戶端發出請求,伺服器傳送響應。HTTP 和 COAP 都使用了相同的技術。
4. AMQP(高階訊息佇列協議)
高階訊息佇列協議被稱為 AMQP。這個廣泛使用的標準主要工作在應用層,主要用於在代理和客戶端之間建立無與倫比的通訊功能。
客戶端負責收集和處理訊息,而釋出者負責建立訊息。在整個過程中,RabbitMQ 等代理的功能是確保訊息直接從釋出者傳送到客戶端。
其最重要的組成部分包括排隊、路由和麵向訊息。使用 AMQP 時,可以實現與不同基礎設施配置的相容性。它允許開發人員使用任何提供的客戶端庫和符合協議的代理。
AMQP 的元件
開發人員需要熟悉 AMQP 模型部署所需的一些特定元件:
- 交換機 - 交換機檢索訊息並將其小心地排列到相應的佇列中。它有四種類型:直接、主題、頭和扇出。更具體地說,它是代理的一個重要組成部分。
- 通道 - 通道是指在已存在的連線內建立的 AMQP 對等體之間的多路複用虛擬連線。
- 訊息佇列 - 它是幫助將通訊連線到其源或資源的識別實體。
- 繫結 - 繫結是一組與交換機和佇列相關的預定義規則。它負責訊息的傳遞和傳輸。
- 虛擬主機 - 虛擬主機是一個平臺,它為代理提供隔離功能。根據使用者及其訪問許可權,可以同時執行多個虛擬主機。
5. 藍牙和藍牙低功耗 (BLE)
藍牙
藍牙是一種在有限範圍內工作的區域網技術,用於連線小型裝置和配件,實現它們之間的資料傳輸。它通常被稱為經典藍牙,允許連線的裝置在 2.4 GHz ISM 無許可頻段上進行通訊。經典藍牙版本提供了兩種不同的資料速率型別:基本速率 (BR) 和增強資料速率 (EDR)。
藍牙低功耗 (BLE)
藍牙低功耗 (BLE) 與經典藍牙類似。這種短距離無線區域網通訊技術已由 IEEE 802.15 標準化。它也使用 2.4 GHz ISM 無許可頻譜。BLE 的主要特點是其低功耗,在保持與經典藍牙相同的通訊範圍的同時,實現了低功耗。BLE 於 2011 年首次投入商業使用。它常用於家庭自動化、安全、醫療保健和健身等節能產品中。
6. Zigbee
Zigbee 是一種低功耗無線網狀網路標準,專為使用電池供電裝置的無線控制和監控應用而設計。Zigbee 允許低延遲通訊。Zigbee 晶片通常整合在微控制器和無線電中。
Zigbee 擴充套件了 IEEE 標準 802.15.4,該標準用於低速率無線個人區域網 (WPAN),定義了物理層和介質訪問控制。規範的其他四個基本部分是網路層、應用層、Zigbee 裝置物件 (ZDO) 和製造商定義的應用物件。ZDO 的職責包括裝置發現、裝置安全、裝置角色跟蹤和網路加入請求管理。
Zigbee 網路層自然支援通用網狀網路以及星形和樹形網路。每個網路必須有一個協調器裝置。在星形網路中,協調器需要作為中心節點。Zigbee 路由器可用於透過樹形和網狀網路擴充套件網路範圍內的通訊。
用例
Zigbee 協議就像一種特殊的語言,用於需要節省電能且不需要快速傳送大量資料的裝置。這意味著裝置可以在很長時間內無需更換電池,例如至少兩年。
人們在很多不同的場景中使用 Zigbee,例如:
- 使家庭智慧化和自動化。
- 建立無線感測器網路。
- 控制工廠中的機器和系統。
- 將感測器安裝在恆溫器或可穿戴健康裝置等物品中。
- 收集患者的醫療資訊。
- 使用火災或入侵警報來保障建築物的安全。
- 無需靠近麥克風即可更改其設定。
但是,Zigbee 不適合裝置移動頻繁的場景。因此,對於軍事行動等需要快速資料傳輸和大量移動的場景,它並不是最佳選擇。
7. LoRaWAN(遠距離廣域網)
LoRa 是一種無線調製技術,它使用線性調頻擴頻技術來操縱無線電波,以便以多符號的方式傳遞資訊。術語“LoRa”也可能指 IoT 應用使用的通訊網路,或支援這種調製技術的系統。
LoRa 的主要優勢在於其低成本和遠距離通訊能力。LoRa 常用於智慧城市,在這些城市中,廉價的低功耗 IoT 裝置(通常是感測器或監控器)分佈在廣泛的區域中,定期將少量資料包傳輸到中央管理員。
LoRaWAN 是一種基於 LoRa 無線調製技術的低功耗廣域網路協議。它控制端節點裝置和網路閘道器之間的通訊,以及將裝置無線連線到網際網路。由於 LoRaWAN 是一種低成本、雙向、遠距離通訊協議,且功耗極低——裝置可以在一塊小電池上執行十年,因此其在商業環境和智慧城市中的應用正在不斷增長。它利用了未經許可的 ISM(工業、科學和醫療)無線電頻率進行網路部署。
使用 LoRaWAN 的端裝置可以透過兩種方式連線到網路:
- 空中啟用 (OTAA) - 為了連線到網路,裝置需要建立應用程式會話金鑰和網路金鑰。
- 個性化啟用 (ABP) - 使用個性化啟用 (ABP),裝置的網路通訊金鑰被硬編碼,從而導致連線速度更快,但安全性較低。
8. DDS(資料分發服務)
DDS 使用類似於 MQTT 的釋出-訂閱模型;主要區別在於沒有代理。這意味著每個釋出者(如溫度感測器)和每個訂閱者(如手機)都連線到同一個網路。為了防止出現瓶頸,這個被稱為全域性資料空間 (GDS) 的網路將每個節點與其他所有節點互連。
通訊中介軟體的標準和產品種類繁多。由於其獨特的以資料為中心的特點,DDS非常適合工業物聯網。大多數中介軟體透過在系統和應用程式之間傳輸資料來發揮作用。資料中心性確保所有通訊都具備應用程式理解接收到的資料所需的背景知識。
資料中心性的基本特徵是DDS瞭解其包含的資料並管理其分發。當使用傳統的以訊息為中心的中介軟體時,程式設計師必須開發訊息傳送程式碼。在編寫程式碼時,程式設計師使用資料中心中介軟體來定義何時以及如何通訊資料,以及直接共享資料值。DDS 直接為您提供受控、管理和安全的的資料共享,無需您在應用程式(您的)程式碼中處理所有這些複雜性。