TWI730355B - 無線通信的動態金鑰產生方法 - Google Patents

無線通信的動態金鑰產生方法 Download PDF

Info

Publication number
TWI730355B
TWI730355B TW108125987A TW108125987A TWI730355B TW I730355 B TWI730355 B TW I730355B TW 108125987 A TW108125987 A TW 108125987A TW 108125987 A TW108125987 A TW 108125987A TW I730355 B TWI730355 B TW I730355B
Authority
TW
Taiwan
Prior art keywords
key
message
communication
data packet
array
Prior art date
Application number
TW108125987A
Other languages
English (en)
Other versions
TW202106060A (zh
Inventor
賞恩 邱
Original Assignee
新加坡商優納比控股私人有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新加坡商優納比控股私人有限公司 filed Critical 新加坡商優納比控股私人有限公司
Priority to TW108125987A priority Critical patent/TWI730355B/zh
Priority to JP2020125618A priority patent/JP7017802B2/ja
Publication of TW202106060A publication Critical patent/TW202106060A/zh
Application granted granted Critical
Publication of TWI730355B publication Critical patent/TWI730355B/zh

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

一種無線通信的動態金鑰產生方法,包括以下步驟:於每次傳輸加密資料時,自第一金鑰陣列中取得通訊金鑰進行資料加密。隨機地產生指示第二金鑰陣列及包含第一驗證訊息的生成訊息,生成訊息的位元組數不同於每次傳輸加密資料的位元組數。自第一金鑰陣列中取得通訊金鑰,加密生成訊息。發送已加密的生成訊息並要求第二驗證訊息。第二驗證訊息於第一驗證訊息被驗證正確後發送。比對已接收的第二驗證訊息,當該第二驗證訊息比對正確時,以第二金鑰陣列取代第一金鑰陣列,據以於每次傳輸加密資料時,自第二金鑰陣列中取得通訊金鑰進行資料加密。

Description

無線通信的動態金鑰產生方法
本發明係關於一種動態金鑰產生方法,特別是一種針對無線通信環境的動態金鑰產生方法。
人類使用網際網路存取網路資料、與人聯絡溝通,而物品現在也開始透過物聯網(Internet of Thing)互相傳送資料進行溝通。能源業在不同地區設置的能源用量表,可以透過物聯網隨時回傳用戶的能源使用狀況,讓能源業者統計分析能源使用狀況,在不同時段中調整能源的轉換量和供應傳輸量,使得能源利用率更高。食品業透過物聯網取得各地農田的溫濕度計、土壤檢測計所偵測的感測資料,統計分析農作品的生產情形,根據農作物的生產情形規畫調整每一季生產的食品種類或產能,並根據產線狀況預先規畫後續的行銷計畫。
準確的統計分析和精準的商業決定,需要大量的感測資料作為支持。為了取得大量的感測資料,資料使用業者需要廣泛地建置感測器,並依靠物聯網和雲端空間來傳輸資料和儲存資料。這將會消耗資料使用業者許多的建置成本,也使得這些收集到的感測資料成為資料使用業者的重要資產,因此如何提升感測資料的資訊安全性,保護資料使用業者的重要資產,是物聯網技術的另一項重要議題。
本發明在於提供一種無線通信的動態金鑰產生方法,藉由動態金鑰來加密感測資料,提高感測資料在無線通信環境中傳輸的資料安全性,進而保護資料擁有者的重要資產。
本發明所揭露的無線通信的動態金鑰產生方法,包括於每次傳輸加密資料時,自第一金鑰陣列中取得通訊金鑰,並以取得的通訊金鑰進行資料加密。隨機地產生與加密資料位元組數不同的生成訊息。生成訊息指示第二金鑰陣列,且包含第一驗證訊息。自第一金鑰陣列中取得通訊金鑰,加密生成訊息。發送已加密的生成訊息並要求第二驗證訊息。第二驗證訊息係於第一驗證訊息被驗證正確後發送。比對已接收的第二驗證訊息,當第二驗證訊息比對正確時,以第二金鑰陣列取代第一金鑰陣列,據以於每次傳輸加密資料時,自第二金鑰陣列中取得通訊金鑰來進行資料加密。
本發明所揭露的無線通信的動態金鑰產生方法,包括於每次接收到加密的資料封包時,依據資料封包的位元組數,判斷資料封包的類型。自資料封包對應的當前金鑰陣列中取得多個通訊金鑰其中之一,解密資料封包。當資料封包為生成訊息類型時,判斷資料封包解密後的資料內容是否正確。當解密後的資料內容比對正確時,發送驗證訊息。依據生成訊息類型的資料封包解密後的資料內容,判斷新金鑰陣列,並以新金鑰陣列取代當前金鑰陣列,據以於每次接收到加密的資料封包時,自新金鑰陣列中取得多個通訊金鑰其中之一來進行資料解密。
根據上述本發明所揭露的無線通信的動態金鑰產生方法,藉由在傳輸資料時是從金鑰陣列中選擇的通訊金鑰來對資料進行加密,避免使用固定的通訊金鑰加密,讓資料加密的安全性更高,資料被監聽時不易被正確讀取。此外,動態金鑰產生方法更不定期地依據隨機產生的訊息,更換金鑰陣列,讓通訊金鑰的多元性更高。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
1:無線感測裝置
2:基地台
3:伺服器
4:資料使用端
S101~S111、S301~S317、S501~S509、S701~S713:步驟
第1圖係根據本發明一實施例之無線通信網路系統的示意圖。
第2圖係根據本發明一實施例之無線通信的動態金鑰產生方法的步驟流程圖。
第3圖係根據本發明另一實施例之無線通信的動態金鑰產生方法的步驟流程圖。
第4圖係根據本發明再一實施例之無線通信的動態金鑰產生方法的步驟流程圖。
第5圖係根據本發明又一實施例之無線通信的動態金鑰產生方法的步驟流程圖。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
請參照第1圖及第2圖,第1圖係為根據本發明一實施例之無線通信網路系統的示意圖,第2圖係為根據本發明一實施例之無線通信的動態金鑰產生方法的步驟流程圖。如圖所示,動態金鑰產生方法運用於無線通信網路環境中。無線通信網路環境例如具有無線感測裝置1、基地台2、伺服器3及資料使用端4。無線感測裝置1具備有無線通訊功能及感測器功能。無線通訊功能例如是以通訊模組來實現,通訊模組可以透過長距離傳輸的低功率廣域網路(Low-Power Wide-Area Network,LPWAN)如SigFox、LoRa(Long Range)、NB-IoT(窄頻帶物聯網)等通訊技術與通訊技術匹配的基地台2連線,互相傳送資料和指令。除了LPWAN以外,無線感測裝置1的無線通訊功能也可以透過其他通訊技術例如LTE (Long Term Evolution)、LTE-A(LTE-Advanced)、GSM、UMTS、W-CDMA、CDMA2000、WiMAX、WiMAX2、IEEE802.16或WiFi(Wireless Fidelity)、Z-wave等方式來實現,本實施例不予限制。
無線感測裝置1的感測器功能,可以設置感測器於無線感測裝置1中來實現,但不以此為限。感測器例如是溫度感測器、濕度感測器、霍爾感測器(Hall sensor)、磁感測器(Magnetic sensor)、地磁感測器(Geomagnetic sensor)、加速度感測器(Accelerometer sensor)、震動感測器(Vibration sensor)、紅外線感測器(IR sensor)或其他合適的感測器。以溫度感測器和溼度感測器為例來說,無線感測裝置1的溫度感測器和溼度感測器感測環境的溫度和溼度,並依據無線通訊協定的通訊頻率及資料量標準,將感測到的溫溼度資料傳送出去,使基地台2接收。無線感測裝置1的感測器種類和數量可由所屬技術領域具有通常知識者,依實際需求配置,本實施例不予限制。
基地台2接收無線感測裝置1產生的感測資料後,經由無線或有線的網際網路傳輸至伺服器3,由伺服器3將資料進行整理儲存。而資料使用端4同樣也透過有線或無線的網際網路連線至伺服器3,根據每個資料使用端4不同的資料存取權限,從伺服器3取得感測資料。資料使用端4例如是業者或個人使用者的電腦、行動裝置、伺服器、雲端主機或其他合適的裝置,本實施例不予限制。總體來說,運用動態金鑰產生方法的無線通信網路環境,係指無線感測裝置1透過無線通信的方式傳輸其感測資料至基地台2,但不限制基地台2、伺服器3及資料使用端4之間是有線傳輸或無線傳輸。
此外,本案的實施例同樣不限制無線通信網路環境中的無線感測裝置1、基地台2、伺服器3及資料使用端4分別的數量。舉例來說,在無線感測裝置1無線傳輸範圍內的一個或多個基地台2都能接收到無線感測裝置1加密的感測資料。基地台2收集到的感測資料可以傳送到第一 層伺服器3,再由第二層伺服器3向第一層伺服器3存取。第一層伺服器3或第二層伺服器3可以提供給一或多個資料使用端4存取資料。資料使用端4亦可以再將感測資料提供給另一個資料使用端4。於所屬技術領域具有通常知識者可以依據實際需求設定存取權限、裝置數量和資料存取流程,本實施例不予限制。
另一方面,動態金鑰產生方法亦可以根據不同的無線通信網路環境做不同的運用。舉例來說,當無線感測裝置1產生的感測資料以通訊金鑰加密後,透過廣播的方式傳輸出去。由無線感測裝置1無線傳輸範圍內的一個或多個基地台2接收,並傳送至第一層伺服器3後,由第一層伺服器3根據感測資料的解密金鑰進行解碼,則動態金鑰產生方法由無線感測裝置1和第一層伺服器3執行。換言之,當第一層伺服器3接收到感測資料,但並未解密,而是根據感測資料的擁有者將感測資料分類地傳送給第二層伺服器3,由第二層伺服器3根據感測資料的解密金鑰進行解碼,則動態金鑰產生方法由無線感測裝置1和第二層伺服器3執行。除了前述方式,動態金鑰產生方法亦可以由無線感測裝置1和資料使用端4執行,或由第一層伺服器3和資料使用端4執行,本案的實施例不予限制。
為了方便說明,以下實施例係以無線感測裝置1進行感測資料的加密和伺服器3進行感測資料的解密作為例子來說明,但並非限制本發明實施例可以應用的方式,於所述技術領域具有通常知識者可以根據以下實施例應用於不同的無線通信網路環境和不同的資料存取流程中。
動態金鑰產生方法如第2圖所示,於步驟S101中,無線感測裝置1於每次傳輸加密資料時,自第一金鑰陣列Ka中取得多個通訊金鑰其中之一,並以取得的通訊金鑰進行資料加密。換言之,無線感測裝置1在每次傳輸欲加密的感測資料時,會從第一金鑰陣列Ka取得一個通訊金鑰,並以當次取得的通訊金鑰加密感測資料。當無線感測裝置1再傳輸下一筆感測資料時,便會再從第一金鑰陣列Ka取得另一個通訊金鑰來對感 測資料進行加密。於一個實施例中,無線感測裝置1傳輸下一筆感測資料時,從第一金鑰陣列Ka取得的通訊金鑰是順序中的下一個通訊金鑰,但不以此限。此外,於步驟S101中,無線感測裝置1是於傳輸加密資料時,才取得通訊金鑰對資料加密。換言之,本實施例不限制無線感測裝置1一定對每一筆要傳輸的感測資料都進行加密,無線感測裝置1可依據傳輸資料的重要性選擇地進行加密,亦可以對每一筆感測資料都進行加密。為了方便描述,以下實施例僅說明要加密感測資料的情形,但不是限制無線感測裝置1的每一筆感測資料都需要進行加密。
於一個實施例中,第一金鑰陣列Ka可以列表(Table)的方式儲存於無線感測裝置1中。在更安全的考量下,第一金鑰陣列Ka不以列表的方式儲存於無線感測裝置1中,而是於無線感測裝置1中以軟體或其他合適的方式實現。以軟體為例來說,第一金鑰陣列Ka是對應於第一函式。無線感測裝置1於每次要傳輸加密資料時,軟體便會執行第一函式,使第一函式產生一個金鑰數列作為通訊金鑰。本實施例不以使用軟體的方式為達到資料安全的限制。
金鑰數列的長度可以設定與感測資料的最大有效載荷(payload)相同,使得金鑰數列加密不同長度的感測資料後,加密後的感測資料長度皆相同。例如當感測資料的最大有效載荷是12位元組(byte)時,則第一函式產生的金鑰數列長度為12bytes。當有些感測資料的有效載荷不到12bytes時,感測資料的有效載荷中會被補入位元,讓感測資料變成12bytes後再以12bytes的金鑰數列進行加密。於另一個例子中,當無線感測裝置1傳輸的感測資料都只有9bytes時,亦可以設定第一函式每次產生的金鑰數列為9bytes,或是產生12bytes的金鑰數列後再從中取出9bytes作為通訊金鑰。
於其他實施例中,當無線感測裝置1限制於處理器的運算效能、記憶體大小等問題時,執行第一函式每次產生的金鑰數列長度為4 bytes。為了產生12bytes的通訊金鑰,無線感測裝置1會產生多個4bytes的金鑰數列,並將金鑰數列串接起來成為12bytes的通訊金鑰。又例如當第一函式每次產生的金鑰數列長度為8bytes時,為了產生12bytes的通訊金鑰,無線感測裝置1會產生多個8bytes的金鑰數列,並將金鑰數列串接起來後,取其中的12bytes作為通訊金鑰。為了方便說明,第一金鑰陣列Ka中第n個通訊金鑰,將以(Ka,n)表示,第一金鑰陣列Ka中第n+1個通訊金鑰,將以(Ka,n+1)表示。換言之,(Ka,n)、(Ka,n+1)、...、(Ka,n+i)等通訊金鑰可以是第一函式直接產生的金鑰數列、金鑰數列取部分位元組組成、多個金鑰數列串接後組成,或多個金鑰數列串接後取部分位元組組成,實施例不予限制。再者,第一金鑰陣列Ka中具有的通訊金鑰數量亦不受到限制,亦即本實施例不限制無線感測裝置1執行第一函式的次數。如此一來,可以避免限制通訊金鑰數量時,使用完所有通訊金鑰後,會再依照相同順序重複使用通訊金鑰的狀況,進而更降低加密資料被監聽竊取後,加密資料被破解讀取的可能性。
當無線感測裝置1每次要傳輸加密的感測資料,而從第一金鑰陣列Ka取得通訊金鑰時,每次取出的通訊金鑰不限制相同或不同。在讓資料安全性更高的考量下,可以讓每次取得的通訊金鑰都不同。由於無線感測裝置1產生的感測資料可能與前後幾筆感測資料相同或相近,因此當每一筆感測資料都以不同的通訊金鑰來進行加密時,加密後的感測資料將會與前後幾筆加密後的感測資料有差異,進而避免重複傳遞相同的資料內容,容易被監聽解讀的風險。
當伺服器3在接收到無線感測裝置1的感測資料時,伺服器3會以與無線感測裝置1技術匹配的動態金鑰產生方式,產生可以解密感測資料的通訊金鑰,進而解密感測資料,具體的說明將於後文敘述。
於步驟S103中,無線感測裝置1隨機地產生生成訊息。當無線感測裝置1使用第一金鑰陣列Ka一段時間後,無線感測裝置1會開 始執行替換第一金鑰陣列Ka的程序。無線感測裝置1觸發替換第一金鑰陣列Ka的機制,例如定期的在固定的時間點進行替換,或依照軟體執行順序進行更換,或由其他機制觸發軟體進行更換,本實施例不予限制。換言之,當無線感測裝置1要替換第一金鑰陣列Ka時,無線感測裝置1會隨機地產生生成訊息,並預備將生成訊息傳送給伺服器3,讓伺服器3進入準備替換第一金鑰陣列Ka的程序。於一個實施例中,生成訊息的有效載荷位元組數與感測資料的有效載荷位元組數不同,據以讓伺服器3判斷收到的訊息非感測資料,而是用來告知準備替換第一金鑰陣列Ka的生成訊息。以實例來說,當無線感測裝置1每次傳輸加密後的感測資料是12bytes時,生成訊息的有效載荷位元組數可以是11bytes、10bytes、90bits或其他數量,本實施例不予限制。
此外,生成訊息中包含了指示第二金鑰陣列的訊息seedb及第一驗證訊息Va。指示第二金鑰陣列的訊息seedb是隨機地產生,而第一驗證訊息Va不限制是否隨機產生。於步驟S105中,無線感測裝置1自第一金鑰陣列Ka中取得另一個通訊金鑰,並以取得的通訊金鑰加密生成訊息。於一個實施例中,當無線感測裝置1產生生成訊息之前,無線感測裝置1傳送的最後一筆感測資料係以通訊金鑰(Ka,n+i)進行加密時,無線感測裝置1便可以第一金鑰陣列Ka中的下一個通訊金鑰(Ka,n+i+1)對生成訊息進行加密。於一個實施例中,無線感測裝置1係取通訊金鑰(Ka,n+i+1)的部分位元組為生成訊息進行加密.但不以此為限。
於步驟S107中,發送已加密的生成訊息並要求第二驗證訊息Vb。換言之,生成訊息被包含於一個資料封包中後發送,且包含生成訊息的資料封包更要求伺服器3回覆訊息。於一個實施例中,包含生成訊息的資料封包在表頭(Header)有部分的位元(bit)可令伺服器3依據此位元判斷要回傳訊息給無線感測裝置1。因此,當伺服器3接收到包含生成訊息的資料封包後,便先驗證生成訊息是否正確,並於生成訊息驗證正確 後,回傳包含有第二驗證訊息Vb的資料封包給無線感測裝置1。
於步驟S109中,無線感測裝置1接收到包含有第二驗證訊息Vb的資料封包後,無線感測裝置1比對第二驗證訊息Vb,判斷第二驗證訊息Vb是否正確。於一個實施例中,第一驗證訊息Va和第二驗證訊息Vb例如是儲存於無線感測裝置1和伺服器3中的固定內容。換言之,無線感測裝置1會將隨機產生用以指示第二金鑰陣列的訊息seedb和固定內容的第一驗證訊息Va串接作為生成訊息,並加密生成訊息後傳送給伺服器3,讓伺服器3依據生成訊息中是否具有第一驗證訊息Va的固定內容,來判斷收到的訊息是否真的來自於無線感測裝置1,亦即判斷生成訊息是否正確。當無線感測裝置1接收到伺服器3回覆的資料封包時,無線感測裝置1亦根據資料封包中的內容是否有預設好的第二驗證訊息Vb,判斷第二驗證訊息Vb是否正確,亦即判斷資料封包是否真的來自於伺服器3。
此外,生成訊息中可另包含檢驗訊息,讓無線感測裝置1依據檢驗訊息,判斷生成訊息是否正確。檢驗訊息例如隱含於指示第二金鑰陣列的訊息seedb和第一驗證訊息Va的格式之中,或另外設定生成訊息部分的位元組作為檢驗訊息的位置,本實施例不予限制。
於另一個實施例中,第二驗證訊息Vb係依據第一驗證訊息Va產生。換句話說,當第一驗證訊息Va是隨機產生時,伺服器3驗證生成訊息正確後,便將第一驗證訊息Va從生成訊息中取出作為第二驗證訊息Vb,並回傳給無線感測裝置1。當無線感測裝置1從伺服器3接收到包含有第二驗證訊息Vb的訊息,並驗證第二驗證訊息Vb與第一驗證訊息Va相同時,表示第二驗證訊息Vb比對正確。
於其他實施例中,第二驗證訊息亦可以是第一驗證訊息Va的部分位元組。也就是說,伺服器3係從第一驗證訊息Va取出部分位元組當作第二驗證訊息Vb,回傳給無線感測裝置1來進行比對。第二驗證訊息Vb除了用以讓無線感測裝置1確認收到的訊息是從安全的伺服器3中發 送,還可以讓無線感測裝置1確認伺服器3已經收到生成訊息。於所屬技術領域具有通常知識者可以依照實際的需求,設計運用無線感測裝置1確認訊息來源正確的方法,本實施例不予限制。
當第二驗證訊息Vb比對正確時,於步驟S111中,無線感測裝置1以第二金鑰陣列Kb取代第一金鑰陣列Ka,據以於之後一段時間內每次傳輸加密資料時,無線感測裝置1改自第二金鑰陣列Kb中取得通訊金鑰來進行資料加密,亦即使用第二金鑰陣列Kb中的通訊金鑰來對感測資料加密,於所屬技術領域具有通常知識者可以依據前述內容實施,本實施例不在重複敘述。
於前述實施例中,隨機產生的訊息seedb除了讓伺服器3據以推導出第二金鑰陣列Kb以外,無線感測裝置1亦依據隨機產生的訊息seedb,產生第二金鑰陣列Kb。於一個例子中,無線感測裝置1具有陣列生成函式,陣列生成函式根據隨機產生的訊息seedb,產生關連於第二金鑰陣列Kb的第二函式。也就是說,當無線感測裝置1以第二金鑰陣列Kb取代第一金鑰陣列Ka後,之後每次無線感測裝置1要傳輸加密資料時,會由軟體執行第二函式,使第二函式產生金鑰數列來作為加密感測資料的通訊金鑰。同樣地,當伺服器3接收到指示第二金鑰陣列的訊息seedb後,伺服器3亦可利用指示第二金鑰陣列的訊息seedb,產生第二金鑰陣列Kb,並改以第二金鑰陣列Kb中的通訊金鑰來對收到的訊息進行解密。
實務上,當無線感測裝置1於步驟S107沒有收到伺服器3回覆訊息時,無線感測裝置1會再發送一次已加密的生成訊息。於一個實施例中,無線感測裝置1會再重複執行步驟S105,並以另一個通訊金鑰重新加密生成訊息。具體來說,當無線感測裝置1以通訊金鑰(Ka,n+i+1)對生成訊息進行加密,且發送加密的生成訊息後仍未收到伺服器3回覆,則無線感測裝置1再以順序中的下一個通訊金鑰(Ka,n+i+2)對生成訊息進行加密,並發送重新加密的生成訊息,並要求伺服器3回覆。於所屬技 術領域具有通常知識者可以自行設計重新發送生成訊息所要使用的通訊金鑰,本實施例不限制要用順序中的下一個通訊金鑰來進行加密。
此外,在安全性的考量下,伺服器3回覆第二驗證訊息Vb時,伺服器3可以選擇對第二驗證訊息Vb進行加密。伺服器3加密第二驗證訊息Vb的方式例如從第一金鑰陣列Ka取得一個通訊金鑰,並以取得的通訊金鑰加密第二驗證訊息Vb。具體來說,當伺服器3收到的生成訊息是以通訊金鑰(Ka,n+i+1)對生成訊息進行加密,則伺服器3可以順序中下一個通訊金鑰(Ka,n+i+2)對第二驗證訊息Vb加密。當伺服器3收到的生成訊息是以通訊金鑰(Ka,n+i+2)對生成訊息進行加密,則伺服器3以順序中下一個通訊金鑰(Ka,n+i+3)對第二驗證訊息Vb加密,但不以此為限。換言之,當伺服器3選擇對第二驗證訊息Vb進行加密,而無線感測裝置1接收到包含有第二驗證訊息Vb的資料封包時,無線感測裝置1會進一步具有解密第二驗證訊息Vb的步驟。
請參照第1圖及第3圖,第3圖係為根據本發明另一實施例之無線通信的動態金鑰產生方法的步驟流程圖。如圖所示,於步驟S301中,無線感測裝置1於每次欲傳輸加密的感測資料時,會自第一金鑰陣列Ka中取得多個通訊金鑰其中之一,並以取得的通訊金鑰進行感測資料加密。當無線感測裝置1使用第一金鑰陣列Ka加密感測資料一段時間後,無線感測裝置1開始執行替換第一金鑰陣列Ka的程序。因此,於步驟S303中,無線感測裝置1隨機地產生生成訊息,生成訊息包含指示第二金鑰陣列Kb的訊息和第一驗證訊息Va。於步驟S305中,無線感測裝置1自第一金鑰陣列Ka中取得通訊金鑰,並以取得的通訊金鑰加密生成訊息。於步驟S307中,無線感測裝置1發送已加密的生成訊息,並要求第二驗證訊息Vb。當伺服器3接收到包含生成訊息的資料封包,並驗證生成訊息後,回傳包含有第二驗證訊息Vb的資料封包給無線感測裝置1。於步驟S309中,無線感測裝置1接收第二驗證訊息Vb,並比對判斷第二驗證訊息Vb是否正確。
於第3圖的實施例中,步驟S301到步驟S309與第1圖實施例大致上相同,且於所屬技術領域具有通常知識者可以參照第1圖的實施例變化運用到步驟S301至步驟S309,不再重複贅述。接下來,於步驟S311中,當第二驗證訊息Vb比對正確時,無線感測裝置1產生待命訊息,並自第一金鑰陣列Ka或第二金鑰陣列Kb其中之一中取得通訊金鑰,加密待命訊息。
待命訊息可以是固定的資料內容,或自第一金鑰陣列Ka中的一個通訊金鑰取得,或是自第二金鑰陣列Kb中的一個通訊金鑰取得,本實施例不予限制。具體來說,當待命訊息是固定的資料內容時,無線感測裝置1可以設定自第一金鑰陣列Ka或第二金鑰陣列Kb其中之一中取得通訊金鑰來加密待命訊息。當待命訊息是自第一金鑰陣列Ka中的一個通訊金鑰取得時,無線感測裝置1可以自第二金鑰陣列Kb中取得通訊金鑰來加密待命訊息。當待命訊息是自第二金鑰陣列Kb中的一個通訊金鑰取得時,無線感測裝置1可以自第一金鑰陣列Ka中取得通訊金鑰來加密待命訊息。本實施例不限制待命訊息的訊息內容及加密待命訊息使用的通訊金鑰。
接著,於步驟S313中,無線感測裝置1將已加密的待命訊息發送出去,並要求回應訊息。換言之,待命訊息被包含於一個資料封包中後發送,且包含待命訊息的資料封包要求伺服器3回覆訊息。於一個實施例中,具有待命訊息的資料封包具有用以要求伺服器3回傳訊息的位元,讓伺服器3在接收到資料封包時,依據此位元判斷要回傳回應訊息給無線感測裝置1。於一個實施例中,待命訊息的位元組數不同於生成訊息的位元組數及感測資料有效載荷的位元組數。伺服器3可以根據收到資料封包的位元組數,判斷收到的資料封包是關於待命訊息。換言之,伺服器3可以根據資料封包的類型,判斷應該回傳第二驗證訊息Vb或回應訊息給無線感測裝置1。
當無線感測裝置1接收到伺服器3回傳的回應訊息時,於步驟S315中,無線感測裝置1比對回應訊息。當回應訊息比對正確時,於步驟S317中,無線感測裝置1以第二金鑰陣列Kb取代第一金鑰陣列Ka,據以於之後一段時間內每次傳輸加密資料時,無線感測裝置1改自第二金鑰陣列Kb中取得通訊金鑰來進行資料加密。
為了更具體說明,以實際的例子來說,當無線感測裝置1於步驟S305中,以通訊金鑰(Ka,n+i+1)加密生成訊息,並於步驟S309中接收到伺服器3回傳的第二驗證訊息Vb,且第二驗證訊息Vb比對正確時,無線感測裝置1於步驟S311中將以自通訊金鑰(Kb,1)中取部分的位元組作為待命訊息,並以第一金鑰陣列Ka順序中的下一個通訊金鑰(Ka,n+i+2)加密待命訊息,發送加密後的待命訊息,以等待伺服器3的回覆。伺服器3回覆的回應訊息可以根據待命訊息使用的通訊金鑰,以同一個或下一個順序的通訊金鑰進行加密,亦即例如以通訊金鑰(Ka,n+i+2)或通訊金鑰(Ka,n+i+3)加密待命訊息。由於通訊金鑰的位元組數與待命訊息和回應訊息的位元組數不同,因此無線感測裝置1和伺服器3可設定僅以通訊金鑰部分的位元組來加密待命訊息和回應訊息。
當無線感測裝置1發送待命訊息後,未收到伺服器3的回覆時,無線感測裝置1可以再重傳一次加密後的待命訊息給伺服器3,或是重複步驟S311,以第一金鑰陣列Ka順序中的下一個通訊金鑰(Ka,n+i+3)重新加密待命訊息,並發送重新加密的待命訊息要求伺服器3的回覆。此時,當伺服器3接收到以通訊金鑰(Ka,n+i+3)加密的待命訊息時,伺服器3亦可以通訊金鑰(Ka,n+i+3)或通訊金鑰(Ka,n+i+4)加密回應訊息,回覆給無線感測裝置1。
於另一個例子中,當無線感測裝置1於步驟S305中,以通訊金鑰(Ka,n+i+1)加密生成訊息,並於步驟S309中接收到伺服器3回傳的第二驗證訊息Vb,且第二驗證訊息Vb比對正確時,於步驟S311中 無線感測裝置1將自順序中下一個通訊金鑰(Ka,n+i+2)中取部分的位元組作為待命訊息,並以第二金鑰陣列Kb的第一個通訊金鑰(Kb,1)加密待命訊息,並發送加密的待命訊息來等待伺服器3的回覆。此時,伺服器3回覆的回應訊息可以根據待命訊息使用的通訊金鑰,以同一個或下一個順序的通訊金鑰進行加密,例如使用通訊金鑰(Kb,1)或通訊金鑰(Kb,2)加密回應訊息。
當無線感測裝置1發送待命訊息後,仍未收到伺服器3的回覆時,無線感測裝置1可以再重傳一次加密後的待命訊息給伺服器3,或是重複步驟S311,以第一金鑰陣列Ka順序中的下一個通訊金鑰(Ka,n+i+3)取部分的位元組作為待命訊息,並以同樣的通訊金鑰(Kb,1)重新加密的待命訊息,重新發送加密的待命訊息,據以要求伺服器3的回覆。
於所屬技術領域具有通常知識者應可理解,當伺服器3回覆的回應訊息有加密時,於步驟S315之前,無線感測裝置1應具有解密回應訊息的步驟,於此不再加以贅述。
伺服器3可以根據是否接收到待命訊息,來確認無線感測裝置1已收到第二驗證訊息Vb,亦可根據待命訊息的資料內容,再次確認先前根據生成訊息所推導出的第二金鑰陣列Kb是否正確。而伺服器3回覆的回應訊息內容可以是固定的內容,亦可以是取自於待命訊息的內容,本實施例不予限制。
於一個實施例中,當無線感測裝置1確認回應訊息比對正確後,無線感測裝置1以第二金鑰陣列Kb取代第一金鑰陣列Ka,且以第二金鑰陣列Kb中未使用過的通訊金鑰來加密感測資料,以進行資料傳輸。具體來說,當無線感測裝置1於步驟S311中是自通訊金鑰(Kb,1)中取部分的位元組作為待命訊息時,無線感測裝置1以第二金鑰陣列Kb取代第一金鑰陣列Ka,恢復傳送感測資料時,無線感測裝置1會使用通訊金鑰(Kb,2)加密恢復傳送感測資料後的第一筆資料。當無線感測裝置1於步 驟S311中是自通訊金鑰(Ka,n+i+2)中取部分的位元組作為待命訊息,並以使用通訊金鑰(Kb,1)加密待命訊息時,在無線感測裝置1以第二金鑰陣列Kb取代第一金鑰陣列Ka,恢復傳送感測資料後,無線感測裝置1會使用通訊金鑰(Kb,2)加密恢復傳送感測資料後的第一筆資料。
接下來說明無線通信的動態金鑰產生方法運用於伺服器3的實施例。請參照第1圖及第4圖,第4圖係為根據本發明再一實施例之無線通信的動態金鑰產生方法的步驟流程圖。如圖所示,於步驟S501中,伺服器3於每次接收到加密的資料封包時,依據資料封包的位元組數,判斷資料封包的類型。由於生成訊息的有效載荷位元組數與感測資料的有效載荷位元組數不同,因此伺服器3可以依據收到的資料封包的位元組數,來判斷資料封包的類型。舉例來說,當伺服器3接收到有效載荷為12bytes的資料封包時,判斷此資料封包為感測資料類型。當伺服器3接收到有效載荷為11bytes的資料封包時,判斷此資料封包為生成訊息類型,但不以此為限。
於步驟S503中,伺服器3自資料封包對應的當前金鑰陣列中取得多個通訊金鑰其中之一,解密資料封包。由於無線感測裝置1在每次傳輸欲加密的資料時,會從第一金鑰陣列Kc取得一個通訊金鑰,並以當次取得的通訊金鑰加密資料。因此,伺服器3也透過與無線感測裝置1對應的動態金鑰產生方法來解密資料封包。具體來說,伺服器3每次透過基地台2接收到來自無線感測裝置1的加密資料封包時,伺服器3會依據資料封包判斷來源的無線感測裝置1,進而從無線感測裝置1對應的當前金鑰陣列中,取得通訊金鑰來解密資料封包。於一個實施例中,伺服器3可以僅使用通訊金鑰的部分位元組來解密資料封包,本實施例不予限制。為了方便說明,後續描述將以第一金鑰陣列Kc來代替說明伺服器3中的當前金鑰陣列。
於一個實施例中,伺服器3根據資料封包的序列號 (Sequence Number),來推測資料封包使用的通訊金鑰。當第一金鑰陣列Kc例如以列表的方式儲存於伺服器3中時,伺服器3可以依據資料封包的序列號,自第一金鑰陣列Kc的列表中查找資料封包的通訊金鑰。在另一個實施例中,第一金鑰陣列Kc不以列表的方式儲存於伺服器3中,而是以軟體或其他合適的方式實現。以軟體為例來說,於每次接收到加密資料時,伺服器3的軟體會執行第一函式,依據第一函式產生的金鑰數列作為通訊金鑰,來解密資料封包。因此,伺服器3將比較上一次收到資料封包的序列號和這次收到資料封包的序列號,據以選擇執行第一函式的次數,並以執行第一函式最後所產生的金鑰數列作為通訊金鑰。以實際例子來說,當伺服器3上一次收到資料封包的序列號為5,而此次收到資料封包的序列號為6,伺服器3比較兩個序列號後,依據序列號的差值1,執行一次第一函式,據以取得此次資料封包的通訊金鑰。又例如,伺服器3上一次收到資料封包的序列號為5,而此次收到資料封包的序列號為8,伺服器3比較兩次的序列號。依據序列號的差值3,執行三次第一函式,並以第三次執行第一函式所取得的金鑰數列作為解密此次資料封包的通訊金鑰。此軟體執行第一函式的實現方式及序列號的數值僅為說明之用,並非限制具體實施的方式及本發明涵蓋的權利範圍。
在某些情況下,伺服器3會限制於處理器的運算效能、記憶體大小等問題,因此在執行第一函式時,所產生的金鑰數列長度受到限制。例如伺服器3每次執行第一函式只能產生4bytes的金鑰數列。為了取得長度更長例如12bytes的通訊金鑰,伺服器3便會多次執行第一函式,並將金鑰數列串接起來作為通訊金鑰,亦即將多個4bytes的金鑰數列串接起來成為12bytes的通訊金鑰。又例如當第一函式每次產生的金鑰數列長度為8bytes時,為了產生12bytes的通訊金鑰,伺服器3會產生多個8bytes的金鑰數列,並將金鑰數列串接起來後,取其中的12bytes作為通訊金鑰。換言之,當伺服器3比較上一次收到資料封包的序列號和這次收到 資料封包的序列號後,選擇第一函式執行的次數亦會依據第一函式能產生的數列長度有關。以伺服器3每次執行第一函式產生4bytes的金鑰數列,而通訊金鑰設定為12bytes的例子來說,伺服器3上一次收到資料封包的序列號為5,而此次收到資料封包的序列號為6。伺服器3將根據序列號的差值1,執行3次第一函式,並串接第1次至第3次產生金鑰數列作為解密此次資料封包的通訊金鑰。又例如,伺服器3上一次收到資料封包的序列號為5,而此次收到資料封包的序列號為8,伺服器3根據序列號的差值3,執行9次第一函式,並串接第7次至第9次產生的金鑰數列作為解密此次資料封包的通訊金鑰。
在實務上,以軟體實現第一金鑰陣列Kc的方式,第一金鑰陣列Kc中可具有的通訊金鑰數量不會受到限制,亦即伺服器3執行第一函式的次數不受到限制。如此一來,可以避免限制通訊金鑰數量時,使用完所有通訊金鑰後,會再依照相同順序重複使用通訊金鑰的狀況,進而更降低加密資料被監聽竊取後,加密資料被破解讀取的可能性。
當伺服器3已判斷此資料封包為感測資料類型,伺服器3在解密資料封包後,便會儲存解密後的資料內容,並提供給具有對應資料存取權限的資料使用端4存取。當此資料封包為生成訊息類型時,伺服器3在解密資料封包後,將進一步配合無線感測裝置1執行準備替換第一金鑰陣列Kc的程序,故於步驟S505中,伺服器3判斷資料封包解密後的資料內容是否正確。
於一個實施例中,伺服器3中有預設的第一驗證訊息V1,且已設定解密後資料內容中的部分位元組是無線感測裝置1放置第一驗證訊息V1的位置,因此伺服器3可以從預設放置第一驗證訊息V1的該些位元組中讀出待驗證訊息Vc,並比對待驗證訊息Vc與預設的第一驗證訊息V1。根據待驗證訊息Vc和第一驗證訊息V1是否相同,來判斷資料封包解密後的資料內容是否正確。於另一個實施例中,伺服器3可以預設解密 後資料內容的正確格式。當伺服器3解密後資料內容的格式符合預設格式時,判斷資料封包解密後的資料內容正確。於其他實施例中,伺服器3亦可以是預設解密後資料內容中的部分位元組為放置檢驗訊息的位置。伺服器3依據檢驗訊息是否正確,來判斷解密後的資料內容是否正確。
當伺服器3判斷接收到的資料封包正確時,表示解密的資料內容中包含無線感測裝置1產生的生成訊息,亦即包含了指示新金鑰陣列的訊息seedd及第一驗證訊息V1,且資料封包要求伺服器3回覆訊息。也就是說,當解密後的資料內容比對正確時,於步驟S507中,伺服器3將發送驗證訊息Vd給無線感測裝置1,以回應無線感測裝置1的要求。於一個實施例中,伺服器3將取出的待驗證訊息Vc作為要回覆給無線感測裝置1的驗證訊息Vd,並將驗證訊息Vd包含於資料封包中回覆給無線感測裝置1。於另一個實施例中,伺服器3可以僅從待驗證訊息Vc中取出部分位元組,來當作驗證訊息Vd回傳給無線感測裝置1。伺服器3使用解密後資料內容中的待驗證訊息Vc來回覆,可以讓無線感測裝置1確認收到的訊息是從安全的伺服器3中發送,且伺服器3已經收到生成訊息。於所屬技術領域具有通常知識者可以依照實際的需求,設計運用伺服器3回覆無線感測裝置1的內容,本實施例不予限制。
在一個例子中,伺服器3可以從第一金鑰陣列Kc中取得通訊金鑰,並以取得的通訊金鑰對驗證訊息Vd進行加密後,回傳給無線感測裝置1。以實際的例子來說,當伺服器3收到的資料封包是以通訊金鑰(Kc,n+i+1)加密,則伺服器3可以順序中下一個通訊金鑰(Kc,n+i+2)對驗證訊息Vd加密。當伺服器3收到的資料封包是以通訊金鑰(Kc,n+i+2)加密,則伺服器3以順序中下一個通訊金鑰(Kc,n+i+3)對驗證訊息Vd加密,但不以此為限。在實務上,可以因通訊金鑰與驗證訊息Vd的位元組數不同,而取通訊金鑰部分的位元組來對驗證訊息Vd加密,本實施例不予限制。
於步驟S509中,伺服器3依據生成訊息類型的資料封包解密後的資料內容,判斷新金鑰陣列,並以新金鑰陣列取代當前金鑰陣列,據以於之後一段時間中,伺服器3每次接收到加密的資料封包時,自新金鑰陣列中取得多個通訊金鑰其中之一來進行資料解密。具體來說,伺服器3已設定解密後資料內容中的部分位元組是無線感測裝置1用以指示新金鑰陣列的訊息seedd,因此伺服器3可以根據指示新金鑰陣列的訊息seedd,判斷無線感測裝置1將替換的新金鑰陣列。新金鑰陣列亦即與無線感測裝置1中用以替代第一金鑰陣列Kc的第二金鑰陣列Kd相同。為了方便說明,後續敘述將以第二金鑰陣列Kd來代替說明伺服器3產生的新金鑰陣列。
於一個例子中,伺服器3具有陣列生成函式,陣列生成函式根據指示第二金鑰陣列Kd的訊息seedd,產生關連於第二金鑰陣列Kd的第二函式。也就是說,當伺服器3以第二金鑰陣列Kd取代第一金鑰陣列Kc後,每次伺服器3要解密加密資料時,軟體便會改成執行第二函式,使第二函式產生金鑰數列來作為解密資料的通訊金鑰。第二函式產生金鑰數列的方法可以參照前述的實施例,不再重複贅述。
請參照第1圖及第5圖,第5圖係為根據本發明又一實施例之無線通信的動態金鑰產生方法的步驟流程圖。如圖所示,於步驟S701中,伺服器3於每次接收到加密的資料封包時,依據資料封包的位元組數,判斷資料封包的類型。於步驟S703中,伺服器3自資料封包對應的當前金鑰陣列中取得多個通訊金鑰其中之一,解密資料封包。當伺服器3已判斷此資料封包為感測資料類型,伺服器3在解密資料封包後,便會儲存解密後的資料內容,並提供給具有對應資料存取權限的資料使用端4存取。當此資料封包為生成訊息類型時,伺服器3將配合無線感測裝置1開始執行替換第一金鑰陣列Kc的程序,故於步驟S705中,判斷資料封包解密後的資料內容是否正確,並於判斷資料封包解密後的資料內容正確時,於步驟 S707中,發送驗證訊息Vd給無線感測裝置1。
於本實施例中,前述步驟S701至步驟S707的內容與前述實施例大致上相同,於所屬技術領域具有通常知識者可以依據前述實施例的內容加以變換實施,本實施例不再重複贅述。於第5圖實施例中,由於無線感測裝置1在收到驗證訊息Vd,並確認驗證訊息Vd正確後,會再發送待命訊息,讓無線感測裝置1和伺服器3之間可以再次確認更換成第二金鑰陣列Kd的程序。因此,當伺服器3收到加密的資料封包時,回到步驟S701中,伺服器3依據資料封包的位元組數,判斷資料封包的類型。換言之,待命訊息的位元組數、生成訊息的位元組數和感測資料的有效載荷位元組數皆不相同,因此伺服器3可以依據收到的資料封包的位元組數,來判斷資料封包的類型,亦可藉此取得無線感測裝置1更換第一金鑰陣列Kc的程序進度。
當伺服器3接收到待命訊息類型的資料封包時,於步驟S703中,伺服器3仍將自第一金鑰陣列Kc或第二金鑰陣列Kd其中之一取得通訊金鑰,亦即自資料封包對應的當前金鑰陣列中取得通訊金鑰,並以取得的通訊金鑰對資料封包進行解密。於步驟S709中,伺服器3判斷資料封包解密後的資料內容是否正確。換言之,於一個實施例中,無線感測裝置1產生的待命訊息是固定的資料內容。伺服器3可以根據固定內容的待命訊息,判斷資料封包解密後的資料內容是否正確。此時,無線感測裝置1產生的待命訊息可以選擇以第一金鑰陣列Kc中的通訊金鑰來加密待命訊息,亦可以選擇以第二金鑰陣列Kd中的通訊金鑰來加密待命訊息。因此,於步驟S703中,伺服器3即配合無線感測裝置1加密通訊金鑰的來源,設定要自第一金鑰陣列Kc或第二金鑰陣列Kd中取得通訊金鑰來解密待命訊息類型的資料封包,本實施例不予限制。
於另一個實施例中,無線感測裝置1產生的待命訊息是依據第二金鑰陣列Kd中的一個通訊金鑰產生,且以第一金鑰陣列Kc中的通訊 金鑰加密,因此當伺服器3接收到待命訊息類型的資料封包時,於步驟S703中,將自第一金鑰陣列Kc取得通訊金鑰,並以取得的通訊金鑰對資料封包進行解密。於步驟S709中,伺服器3比對解密後的資料內容與第二金鑰陣列Kd中的通訊金鑰,依據比對結果判斷待命訊息類型的資料封包是否正確。
於另一個實施例中,無線感測裝置1產生的待命訊息是依據第一金鑰陣列Kc中的一個通訊金鑰產生,且以第二金鑰陣列Kd中的通訊金鑰加密。因此伺服器3在接收到待命訊息類型的資料封包時,於步驟S703中,將自第二金鑰陣列Kd取得通訊金鑰,並以取得的通訊金鑰對資料封包進行解密。於步驟S709中,伺服器3比對解密後的資料內容與第一金鑰陣列Kc的通訊金鑰,依據比對結果判斷待命訊息類型的資料封包是否正確。待命訊息可以是通訊金鑰的部分位元組組成,亦可以僅以通訊金鑰的部分位元進行加密,本實施例不再贅述。
於步驟S711中,當伺服器3確認待命訊息正確時,發送回應訊息給無線感測裝置1。回應訊息可以是固定的內容亦可以是取自於待命訊息的部分位元組,本實施例不予限制。此外,伺服器3亦可以對回應訊息進行加密。舉例來說,當接收到待命訊息類型的資料封包是以第一金鑰陣列Kc中的通訊金鑰(Kc,n+i+2)進行加密時,伺服器3可以通訊金鑰(Kc,n+i+3)加密回應訊息。當接收到待命訊息類型的資料封包是以第二金鑰陣列Kd中的通訊金鑰(Kd,1)進行加密時,伺服器3可以通訊金鑰(Kd,2)加密回應訊息。
於步驟S713中,伺服器3依據生成訊息類型的資料封包解密後的資料內容,判斷新金鑰陣列,並以新金鑰陣列取代當前金鑰陣列,據以於之後一段時間,伺服器3每次接收到加密的資料封包時,改自新金鑰陣列中取得多個通訊金鑰其中之一來進行資料解密。以無線感測裝置1是自通訊金鑰(Kd,1)中取部分的位元組作為待命訊息的例子來說,當無 線感測裝置1接收到伺服器3發送的回應訊息後,回復傳送感測資料,並以第二金鑰陣列Kd順序中的下一個通訊金鑰(Kd,2)加密感測資料。因此,伺服器3接收到加密的資料封包時,將以第二金鑰陣列Kd順序中的下一個通訊金鑰(Kd,2)解密資料封包。在無線感測裝置1是自第一金鑰陣列Kc中的通訊金鑰取部分位元組作為待命訊息的例子中,當無線感測裝置1接收到伺服器3發送的回應訊息,並恢復傳送感測資料時,由於第二金鑰陣列Kd中的第一個通訊金鑰(Kd,1)被用作為待命訊息的內容,因此,伺服器3接收到加密的資料封包時,將以第二金鑰陣列Kd順序中的下一個通訊金鑰(Kd,2)解密資料封包。
綜合以上所述,本發明實施例提供一種無線通信的動態金鑰產生方法,藉由在傳輸資料時從金鑰陣列中取得不一定相同的通訊金鑰,來對資料進行加密,讓資料加密的安全性更高。此外,動態金鑰產生方法不定期地依據隨機產生的訊息,更換金鑰陣列,讓加密資料使用的通訊金鑰更不易被猜測。即使原本使用的金鑰陣列被監聽取得,動態金鑰產生方法更換金鑰陣列後,已被監聽取得的金鑰陣列亦將會無法使用,進而提高無線通信環境中傳輸資料的安全性,進而保護資料擁有者的重要資產。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
S101~S111:步驟

Claims (25)

  1. 一種無線通信的動態金鑰產生方法,包括:於每次傳輸加密資料時,自一第一金鑰陣列中取得多個通訊金鑰其中之一,並以取得的該通訊金鑰進行資料加密;隨機地產生一生成訊息,該生成訊息指示一第二金鑰陣列,且包含一第一驗證訊息;自該第一金鑰陣列中取得該些通訊金鑰其中之一,加密該生成訊息;發送已加密的該生成訊息並要求一第二驗證訊息,其中該第二驗證訊息係於該第一驗證訊息被驗證正確後發送;比對已接收的該第二驗證訊息;以及當該第二驗證訊息比對正確時,以該第二金鑰陣列取代該第一金鑰陣列,據以於每次傳輸加密資料時,自該第二金鑰陣列中取得多個通訊金鑰其中之一來進行資料加密;其中該生成訊息的位元組數不同於每次傳輸加密資料的位元組數。
  2. 如請求項1所述之無線通信的動態金鑰產生方法,更包括:當未收到該第二驗證訊息時,重新自該第一金鑰陣列中取得該些通訊金鑰其中之一,重新加密該生成訊息;以及發送重新加密的該生成訊息並要求該第二驗證訊息。
  3. 如請求項1所述之無線通信的動態金鑰產生方法,更包括使用該第一金鑰陣列中該些通訊金鑰其中之一解密已接收的該第二驗證訊息。
  4. 如請求項1所述之無線通信的動態金鑰產生方法,其中於自該第一金鑰陣列中取得該些通訊金鑰其中之一加密該生成訊息的步驟中,包括使用已取得的該通訊金鑰的至少部分位元組加密該生成訊息。
  5. 如請求項1所述之無線通信的動態金鑰產生方法,其中該第一金鑰陣列關聯於一第一函式,於每次傳輸加密資料時,自該第一金鑰陣列中取得該些通訊金鑰其中之一的步驟中,更包括於每次傳輸加密資料時,使用該第一函式產生一金鑰數列,該金鑰數列用以作為該通訊金鑰。
  6. 如請求項1所述之無線通信的動態金鑰產生方法,其中該第一金鑰陣列關聯於一第一函式,於每次傳輸加密資料時,自該第一金鑰陣列中取得該些通訊金鑰其中之一的步驟中,更包括:於每次傳輸加密資料時,使用該第一函式產生多個金鑰數列;串接該些金鑰數列;以及使用已串接的該些金鑰數列的至少部分位元組作為該通訊金鑰。
  7. 如請求項1所述之無線通信的動態金鑰產生方法,其中該第二驗證訊息係依據該第一驗證訊息產生,於比對已接收的該第二驗證訊息的步驟中,當已接收的該第二驗證訊息包含至少部分該第一驗證訊息時,該第二驗證訊息比對正確。
  8. 如請求項1所述之無線通信的動態金鑰產生方法,其中於當該第二驗證訊息比對正確時,以該第二金鑰陣列取代該第一金鑰陣列的步驟中,更包括: 當該第二驗證訊息比對正確時,自該第一金鑰陣列或該第二金鑰陣列其中之一中取得通訊金鑰,加密一待命訊息;發送已加密的該待命訊息並要求一回應訊息;比對已接收的該回應訊息;以及當該回應訊息比對正確時,以該第二金鑰陣列取代該第一金鑰陣列。
  9. 如請求項8所述之無線通信的動態金鑰產生方法,更包括當未收到該回應訊息時,重新發送已加密的該待命訊息並要求該回應訊息。
  10. 如請求項8所述之無線通信的動態金鑰產生方法,更包括:自該第一金鑰陣列中取得該些通訊金鑰其中之一,使用已取得的該通訊金鑰生成該待命訊息;當未收到該回應訊息時,重新自該第一金鑰陣列中取得該些通訊金鑰其中之一,並使用重新取得的該通訊金鑰生成該待命訊息;使用原本用以加密該待命訊息的該通訊金鑰,加密重新生成的該待命訊息,其中原本用以加密該待命訊息的該通訊金鑰係取自於該第二金鑰陣列;以及發送重新生成且加密的該待命訊息,並要求該回應訊息。
  11. 如請求項8所述之無線通信的動態金鑰產生方法,更包括:自該第二金鑰陣列中取得該些通訊金鑰其中之一,使用已取得的該通訊金鑰生成該待命訊息; 當未收到該回應訊息時,重新自該第一金鑰陣列中取得該些通訊金鑰其中之一,加密該待命訊息;以及發送重新生成且加密的該待命訊息,並要求該回應訊息。
  12. 如請求項8所述之無線通信的動態金鑰產生方法,其中該生成訊息的位元組數與該待命訊息的位元組數不同。
  13. 如請求項8所述之無線通信的動態金鑰產生方法,其中於以該第一金鑰陣列或該第二金鑰陣列其中之一中取得的通訊金鑰加密該待命訊息的步驟中,包括使用已取得的該通訊金鑰的至少部分位元組加密該待命訊息。
  14. 一種無線通信的動態金鑰產生方法,包括:於每次接收到加密的一資料封包時,依據該資料封包的位元組數,判斷該資料封包的類型;自該資料封包對應的一當前金鑰陣列中取得多個通訊金鑰其中之一,解密該資料封包;當該資料封包為一生成訊息類型時,判斷該資料封包解密後的資料內容是否正確;當解密後的資料內容比對正確時,發送一驗證訊息;以及依據該生成訊息類型的資料封包解密後的資料內容,判斷一新金鑰陣列,並以該新金鑰陣列取代該當前金鑰陣列,據以於每次接收到加密的資料封包時,自該新金鑰陣列中取得多個通訊金鑰其中之一來進行資料解密。
  15. 如請求項14所述之無線通信的動態金鑰產生方法,其中於當該資料封包為該生成訊息類型時,判斷該資料封包解密後的資料內容是否正確的步驟中,更包括:依據解密後的該資料內容,判斷一待驗證訊息;以及比對該待驗證訊息,其中當該待驗證訊息比對正確時,表示解密後的資料內容比對正確。
  16. 如請求項15所述之無線通信的動態金鑰產生方法,更包括依據該待驗證訊息產生該驗證訊息。
  17. 如請求項15所述之無線通信的動態金鑰產生方法,更包括使用該當前金鑰陣列中該些通訊金鑰其中之一的部分位元組加密該驗證訊息。
  18. 如請求項14所述之無線通信的動態金鑰產生方法,其中於自該資料封包對應的該當前金鑰陣列中取得該些通訊金鑰其中之一,解密該資料封包的步驟中,更包括使用已取得的該通訊金鑰的部分位元組解密該資料封包。
  19. 如請求項14所述之無線通信的動態金鑰產生方法,其中該當前金鑰陣列關聯於一第一函式,於每次接收到加密的資料封包時,自該當前金鑰陣列中取得該些通訊金鑰其中之一以解密該資料封包的步驟中,更包括於每次接收到加密的資料封包時,使用該第一函式產生一金鑰數列,該金鑰數列用以作為該通訊金鑰。
  20. 如請求項14所述之無線通信的動態金鑰產生方法,其中該當前金鑰陣列關聯於一第一函式,於自該資料封包對應的該當前金 鑰陣列中取得該些通訊金鑰其中之一,以解密該資料封包的步驟中,更包括:於每次傳輸加密資料時,使用該第一函式產生多個金鑰數列;串接該些金鑰數列;以及使用已串接的該些金鑰數列的至少部分位元組作為該通訊金鑰。
  21. 如請求項14所述之無線通信的動態金鑰產生方法,更包括:當接收到資料封包為一待命訊息類型時,判斷該資料封包解密後的資料內容是否正確;以及當該待命訊息類型的資料封包解密後的資料內容正確時,發送一回應訊息;其中該待命訊息類型的資料封包位元組數不同於該生成訊息類型的資料封包位元組數。
  22. 如請求項21所述之無線通信的動態金鑰產生方法,更包含比對該待命訊息類型的資料封包解密後的資料內容與該新金鑰陣列中該些通訊金鑰其中之一,當解密後的資料內容與該新金鑰陣列中該些通訊金鑰其中之一的部分位元組相同時,該資料封包解密後比對正確。
  23. 如請求項22所述之無線通信的動態金鑰產生方法,其中當接收到資料封包為待命訊息類型時,係以該當前金鑰陣列其中之一通訊金鑰的部分位元組進行解密。
  24. 如請求項21所述之無線通信的動態金鑰產生方法,更包含比對該待命訊息類型的資料封包解密後的資料內容與該當前金鑰 陣列中該些通訊金鑰其中之一,當解密後的資料內容與該當前金鑰陣列中該些通訊金鑰其中之一的部分位元組相同時,該資料封包解密後比對正確。
  25. 如請求項24所述之無線通信的動態金鑰產生方法,其中當接收到資料封包為待命訊息類型時,係以該新金鑰陣列其中之一通訊金鑰的部分位元組進行解密。
TW108125987A 2019-07-23 2019-07-23 無線通信的動態金鑰產生方法 TWI730355B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108125987A TWI730355B (zh) 2019-07-23 2019-07-23 無線通信的動態金鑰產生方法
JP2020125618A JP7017802B2 (ja) 2019-07-23 2020-07-22 無線通信におけるダイナミックキーの生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108125987A TWI730355B (zh) 2019-07-23 2019-07-23 無線通信的動態金鑰產生方法

Publications (2)

Publication Number Publication Date
TW202106060A TW202106060A (zh) 2021-02-01
TWI730355B true TWI730355B (zh) 2021-06-11

Family

ID=74566211

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108125987A TWI730355B (zh) 2019-07-23 2019-07-23 無線通信的動態金鑰產生方法

Country Status (2)

Country Link
JP (1) JP7017802B2 (zh)
TW (1) TWI730355B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211787A1 (en) * 2009-02-19 2010-08-19 Leonid Bukshpun Chaotic cipher system and method for secure communication
US20120294440A1 (en) * 2004-04-02 2012-11-22 Research In Motion Limited Key Agreement and Re-keying over a Bidirectional Communication Path

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09312642A (ja) * 1996-05-20 1997-12-02 Fujitsu Ltd データ通信方式
JP3902440B2 (ja) * 2001-10-29 2007-04-04 三菱電機株式会社 暗号通信装置
JP2004186939A (ja) * 2002-12-03 2004-07-02 Sony Ericsson Mobilecommunications Japan Inc 暗号処理装置及び方法
WO2005117334A1 (en) * 2004-05-31 2005-12-08 National Research Council Of Canada State based secure transmission for a wireless system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120294440A1 (en) * 2004-04-02 2012-11-22 Research In Motion Limited Key Agreement and Re-keying over a Bidirectional Communication Path
US20100211787A1 (en) * 2009-02-19 2010-08-19 Leonid Bukshpun Chaotic cipher system and method for secure communication

Also Published As

Publication number Publication date
TW202106060A (zh) 2021-02-01
JP7017802B2 (ja) 2022-02-09
JP2021019360A (ja) 2021-02-15

Similar Documents

Publication Publication Date Title
US8090106B2 (en) Multi-level data encryption and decryption system and method thereof
CN104205123B (zh) 用于安全的第三方数据存储的***和方法
KR20180119201A (ko) 인증 시스템을 위한 전자 장치
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
JP2020005282A (ja) ビーコンメッセージの伝送
Boakye-Boateng et al. Encryption protocol for resource-constrained devices in fog-based IoT using one-time pads
US9882720B1 (en) Data loss prevention with key usage limit enforcement
KR101688813B1 (ko) IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템
EP3741093B1 (en) System and method for privacy-preserving data retrieval for connected power tools
CN101738516A (zh) 一种电子式电能表数据安全传输的方法及电能表装置
EP2028820A2 (en) Method and apparatus for checking round trip based on challenge response as well as computer readable medium having recorded thereon program for the method
KR102028151B1 (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
CN110495153A (zh) 在预关联的状态中加密数据
CN111586680A (zh) 电网端到端通信加密***、方法、通信设备和存储介质
Sudarsono et al. An implementation of secure data sensor transmission in Wireless Sensor Network for monitoring environmental health
CN103493430A (zh) 信息处理设备以及信息处理方法
CN109756451B (zh) 一种信息交互方法及装置
KR101880708B1 (ko) 보안이 강화된 사물인터넷 디바이스간의 데이터 전송시스템 및 이를 이용한 데이터 전송방법
TWI730355B (zh) 無線通信的動態金鑰產生方法
KR20190040443A (ko) 스마트미터의 보안 세션 생성 장치 및 방법
CN103152733A (zh) 一种通信方法、装置
CN116366289B (zh) 无人机遥感数据的***方法及装置
Liao et al. A location-dependent data encryption approach for enhancing mobile information system security
JP5361970B2 (ja) 通信システム、第一通信装置、第二通信装置、暗号化通信方法及びプログラム
GB2570292A (en) Data protection