【碩士學位論文】一種基於ECDH金鑰交換與Ed25519簽章技術之輕量化安全傳輸機制(A Lightweight Secure Transmission Mechanism Based on ECDH Key Exchange and Ed25519 Signature Technology)

2024/12/01 – 2026/07/28

隨著IoT裝置的快速普及,大量嵌入式節點被部署於工業控制、智慧醫療及遠端教育等場域,然而此類裝置受限於運算能力與記憶體資源,往往無法負擔傳統安全協定(如TLS)所要求的複雜握手流程與憑證管理機制,導致通訊安全性不足,易遭中間人攻擊、資料竄改及重放攻擊等威脅。

本研究提出一種輕量化安全傳輸機制,以ECDH金鑰交換協定建立前向保密性,並以Ed25519數位簽章對金鑰交換過程進行雙向身份驗證,無需依賴公開金鑰基礎設施(PKI)。通訊階段採用ChaCha20串流加密搭配BLAKE3訊息鑑別碼實現訊息機密性與完整性驗證,並以單調遞增序列號機制防禦重放攻擊。

大綱

本研究也以Go語言實作上述框架,並部署於Raspberry Pi 4 Model B進行效能評估,與DTLS、AES-256-GCM及ChaCha20-Poly1305三種框架進行系統性比較。實驗以莎士比亞《哈姆雷特》第三幕原文作為測試資料,分字元、單詞、句子三種細微性模擬不同訊息長度下的雙向通訊情境,各框架重複執行五次並取中位數。本研究所提出之機制在具備等效安全保障的前提下,相較於現有標準協定展現出顯著的效能優勢,適用於資源受限、需快速建立秘密頻道之嵌入式通訊場景。

前往臺灣博碩士論文知識加值系統查看完整論文:https://hdl.handle.net/11296/942mcq

本研究實作通訊雙方(Alice、Bob)的通訊過程(如下圖所示),並實施效能監控來確保通訊的效能能夠在本研究所提之安全理論的保護下,仍達到效能優於傳統加密通訊,或至少效能一致但安全性更高的效果。

交握流程示意圖
交握流程示意圖

在通訊階段中(如下圖所示),Alice向Bob發送了第一則訊息。
Alice先是將訊息本體以先前交握階段運算出用於加密的金鑰透過ChaCha20運算出密文,並且該運算過程中需要加入一個理論上不得重複的Nonce參數作為ChaCha20這類串流加密運算的唯一驗證碼,以防止重送攻擊的發生。由於該Nonce參數不得重複出現在同樣加密金鑰下的兩則不同訊息當中,因此建議Alice必須在每次加密訊息時,都將當前儲存的計數加一(或任意正數),以確保下次加密訊息不會使用到相同的Nonce。接著Alice需要將Nonce與密文作為參數,使用先前KDF運算出的簽章金鑰以BLAKE3做MAC運算,得出訊息驗證標籤。在發送通訊封包時,內容首個Byte以0x11表示「通訊封包」,並且內容需要包含自己的身分識別ID(即使用自身Ed25519公鑰透過BLAKE3雜湊運算出的Hash值)、訊息驗證標籤、密文。

而Bob收到封包後,透過首個Byte可以得知該封包為通訊封包,便會嘗試進行各項安全驗證。首先,Bob會以對方提供的ID作為索引獲取KDF推導的四把金鑰,包括對方的加密金鑰、對方的簽章金鑰、自己的加密金鑰、自己的簽章金鑰。接著,Bob會使用Alice的簽章金鑰驗證「訊息驗證標籤」,確保資料沒有遭到竄改;又以Nonce作為對方訊息計數,驗證是否大於已儲存之對方的訊息計數,若否,表示該訊息經過重送,則應該視為不安全的封包;若是,則將其訊息計數作為對方新的訊息計數值儲存。最後,使用KDF推導對方的加密金鑰進行ChaCha20解密,獲取訊息明文。

通訊流程示意圖
通訊流程示意圖

阻擋重送攻擊流程示意圖
阻擋重送攻擊流程示意圖


結論

隨著物聯網裝置的普及,大量資源受限的嵌入式節點被部署於工業控制、智慧醫療、遠端教育等關鍵場域,這些裝置往往因運算能力與記憶體有限,難以負擔TLS/DTLS 等標準安全協定的完整握手流程與憑證管理開銷,導致通訊安全長期處於薄弱狀態。本研究針對此問題,提出一種基於ECDH金鑰交換與Ed25519數位簽章之輕量化安全傳輸框架,在不依賴PKI基礎設施的前提下,實現雙向身份驗證、前向保密、訊息完整性驗證與重放攻擊防禦。

四種通訊框架之訊息往返延遲
四種通訊框架之訊息往返延遲

四種通訊框架之單字元訊息階段密碼運算分解
四種通訊框架之單字元訊息階段密碼運算分解

四種通訊框架之單字元訊息階段端到端總耗時
四種通訊框架之單字元訊息階段端到端總耗時

實測結果顯示,本框架於Raspberry Pi 4 Model B上的金鑰交換耗時約28 ms,較DTLS的1,129 ms大幅降低;每則訊息往返延遲約399 µs,優於DTLS的667 µs,且端到端耗時與密碼運算成本高度對應,顯示框架本身無多餘的協定層開銷。在安全性方面,本框架透過BLAKE3獨立訊息鑑別碼實現加密與驗證責任分離,提供與DTLS相當的安全保障,同時維持更低的實作複雜度與運算負擔。


致謝

特別感謝三位教授,由左至右分別是:陳世曄(審查委員)、鄭鈺霖(指導教授)、我、賴槿峰(審查委員)
特別感謝三位教授,由左至右分別是:陳世曄(審查委員)、鄭鈺霖(指導教授)、我、賴槿峰(審查委員)

在論文完成之際,首要誠摯感謝我的指導教授鄭鈺霖老師。
在研究初期,我對於研究核心與開發方向感到迷惘,感謝老師不吝撥冗指導,透過多樣化的研究主題給予深度啟發,引導我從中尋得具備學術價值與實務意義的研究定錨。也特別感謝老師在指導過程中,大方分享其在業界深耕多年的寶貴見聞,針對產業實務所面臨的技術障礙、系統瓶頸及解決之道,皆給予精闢的解析與建議。這些來自第一線的技術洞察,不僅彌補了學術理論與業界應用之間的鴻溝,更極大地拓寬了本研究的視野與深度。
老師嚴謹的治學態度與實務導向的思維,令我獲益匪淺,在此致上最深的謝忱。

同時,我也由衷感謝我的父親對我攻讀研究所的全力支持。
研究所的求學之路並不輕鬆,課業與研究的壓力時常交織而來,然而父親始終以最大的包容與理解給予我空間,從未催促、從未質疑,只是默默地在背後撐起一切。無論是學費、生活所需,抑或是每一次返家時那關心的問候,都是父親無聲卻最真實的付出。正是這份踏實而厚重的支持,讓我得以無後顧之憂地專注於學業與研究。父親或許不熟悉密碼學,也不瞭解論文的內容,但他對我選擇這條路的信任與尊重,是推動著我走到最後的最大動力。
謹以此論文,獻上對父親最深的感謝與敬意。

此外,也感謝在研究過程中給予協助的學界夥伴與朋友們。
每當遇到困難或瓶頸,他們總是慷慨地提供資源、分享經驗,並鼓勵著我,陪伴我度過不少低潮時刻,這份情誼是論文得以完成的重要支柱。尤其感謝實驗室的夥伴們,我們共同在這個小小的空間裡度過了許多充實的時光,一起分享技術心得、交流研究想法,也時常針對各類時事議題熱烈討論。大家互相觀摩彼此的研究成果,從他人的思路中汲取靈感,也在對方卡關時主動伸出援手。
能與各位同行這段旅程,是我研究所生涯中最難忘的收穫。

T705 實驗室的夥伴們,拍立得合照
T705 實驗室的夥伴們,拍立得合照

資管系,拍立得合照
資管系,拍立得合照