TWI778828B - 基於區塊鏈的物聯網雙向認證方法 - Google Patents
基於區塊鏈的物聯網雙向認證方法 Download PDFInfo
- Publication number
- TWI778828B TWI778828B TW110138458A TW110138458A TWI778828B TW I778828 B TWI778828 B TW I778828B TW 110138458 A TW110138458 A TW 110138458A TW 110138458 A TW110138458 A TW 110138458A TW I778828 B TWI778828 B TW I778828B
- Authority
- TW
- Taiwan
- Prior art keywords
- authentication
- blockchain
- gateway
- internet
- things
- Prior art date
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種基於區塊鏈的物聯網雙向認證方法,應用於至少一物聯網設備由至少一閘道器耦接一區塊鏈網路,該區塊鏈網路包括數個認證回報節點,該方法包括步驟:由該物聯網設備產生一認證資訊,將該認證資訊發送到該閘道器,該認證資訊包括依據一雜湊值切割形成多個座標衍生的一元多次方程式的多個係數所產生的資料;由該閘道器依據該認證資訊發起一區塊鏈交易;及由該數個認證回報節點依據該區塊鏈交易及一智能合約分別認證該物聯網設備及該閘道器的身分。
Description
本發明係關於一種網路設備識別技術,特別是關於一種基於區塊鏈的物聯網雙向認證方法。
區塊鏈(blockchain)資訊本質是公開透明的,被記錄在區塊鏈上的驗證機密資訊可被輕易取得用於仿冒合法身分,如果區塊鏈認證機制未考慮到上述特質,譬如認證因子未定期更新等,將導致驗證機制失效。
另,物聯網設備通常是針對特定應用量身訂製的產物,其數據運算資源相對有限。習知網路設備身分認證技術,通常需要較高運算能力,無法廣泛適用於資源相對有限的物聯網設備。以往雖有一些相關技術,但仍有改善空間。
有鑑於此,有必要提供一種有別以往的技術方案,以解決習知技術所存在的問題。
本發明之一目的在於提供一種基於區塊鏈的物聯網雙向認證方法,通過區塊鏈網路來驗證物聯網設備與閘道器的身分合法性,以降低物聯網設備的運算負擔。
為達上述之目的,本發明的一方面提供一種基於區塊鏈的物聯網雙向認證方法,應用於至少一物聯網設備由至少一閘道器耦接一區塊鏈網路,該區塊鏈網路包括數個認證回報節點,該方法包括步驟:由該物聯網設備產生一認證資訊,將該認證資訊發送到該閘道器,該認證資訊包括依據一雜湊值切割形成多個座標衍生的一元多次方程式的多個係數所產生的資料;由該閘道器依據該認證資訊發起一區塊鏈交易;及由該數個認證回報節點依據該區塊鏈交易及一智能合約分別認證該物聯網設備及該閘道器的身分。
在本發明實施例中,產生該認證資訊的步驟包括:將該雜湊值切割成多個等分;將該雜湊值的多個等分依序編號;以該編號及該雜湊值的多個等分形成在二維座標系上的多個座標;依據該多個座標衍生該一元多次方程式;及將該一元多次方程式的多個係數串接產生一秘密值。
在本發明實施例中,產生該認證資訊的步驟包括:依據該秘密值產生一公開驗證碼;依據該公開驗證碼產生一對身分認證資訊;產生一隨機值;產生一設備身分碼;及依據該對身分認證資訊、該隨機值及該設備身分碼產生該認證資訊。
在本發明實施例中,產生該認證資訊的步驟包括:產生一挑戰碼;及依據該挑戰碼與一設備不可複製功能函數產生該雜湊值。
在本發明實施例中,該數個認證回報節點分別依據被儲存在該智能合約中的該閘道器的一公用金鑰驗證發起該區塊鏈交易的簽章合法性,用以認證該閘道器的身分。
在本發明實施例中,該數個認證回報節點分別依據該物聯網設備的身分資訊為索引,尋找該區塊鏈交易的公開驗證碼,使用該認證資訊計算與該公開驗證碼相應的一新驗證碼,判斷基於該公開驗證碼及一雜湊函數產生的一認證糾錯碼與基於該新驗證碼及該雜湊函數產生的一糾錯確認碼是否相同,以決定該物聯網設備是否已通過合法驗證,如果該物聯網設備通過合法驗證,將該新驗證碼儲存在該智能合約,用於下次認證。
在本發明實施例中,各該認證回報節點將該物聯網設備的身分認證結果及該閘道器的身分認證結果分別加密以產生一認證加密簽章。
在本發明實施例中,該閘道器依據來自該數個認證回報節點的該認證加密簽章進行驗證及分類後產生一聚合簽章。
在本發明實施例中,該物聯網設備驗證該聚合簽章,將該聚合簽章進行解密,以獲取該閘道器的身分合法性。
在本發明實施例中,該聚合簽章包括一會話金鑰,用以供該物聯網設備與該閘道器進行通訊。
本發明的基於區塊鏈的物聯網雙向認證方法,通過由該物聯網設備產生該認證資訊,將該認證資訊發送到該閘道器,該認證資訊包括依據該雜湊值切割形成多個座標衍生的一元多次方程式的多個係數所產生的資料;由該閘道器依據該認證資訊發起該區塊鏈交易;及由該數個認證回報節點依據該區塊鏈交易及該智能合約分別認證該物聯網設備及該閘道器的身分。藉此,可通
過區塊鏈網路來驗證物聯網設備與閘道器的身分合法性,除可降低物聯網設備的運算負擔,還具備安全的去中心化身分認證、防止物理和克隆攻擊、防止假冒攻擊、具有妥協後安全性的驗證資訊、防止重播攻擊及防止中間人攻擊等安全性功能,可以有效提高通訊安全性。
S1:步驟
S2:步驟
S3:步驟
S4:步驟
S5:步驟
S6:步驟
T:智能合約
E:物聯網設備
E1:物聯網設備
E2:物聯網設備
G:閘道器
M:認證回報節點
N:區塊鏈網路
(X,Y):座標
(u,e):認證資訊中的認證運算碼及認證糾錯碼
IDD:可表示物聯網設備身分的編碼或數值
nD_a:身分認證交易之隨機值
〔第1圖〕:本發明實施例之基於區塊鏈的物聯網雙向認證方法的運作示意圖。
〔第2圖〕:本發明實施例依據雜湊值衍生一元多次方程式的多個係數所採用之座標資料的示意圖。
〔第3圖〕:本發明實施例之基於區塊鏈的物聯網雙向認證方法的流程示意圖。
為了讓本發明之上述及其他目的、特徵、優點能更明顯易懂,下文將特舉本發明較佳實施例,並配合所附圖式,作詳細說明如下。再者,本發明所提到的方向用語,例如上、下、頂、底、前、後、左、右、內、外、側面、周圍、中央、水平、橫向、垂直、縱向、軸向、徑向、最上層或最下層等,僅是參考附加圖式的方向。因此,使用的方向用語是用以說明及理解本發明,而非用以限制本發明。
本發明的一方面提供一種基於區塊鏈的物聯網雙向認證方法,可應用於一網路架構(如第1圖所示),該網路架構包括該至少一物聯網設備E(如機器人、無人載具、監控設備或視聽設備等)、至少一閘道器G及一區塊鏈網路N之間,該區塊鏈網路N包括數個認證回報節點M及一智能合約T,其中該物聯網設
備E、該閘道器G及該認證回報節點M分別具備不同程度的資料處理能力,用於執行該基於區塊鏈的物聯網雙向認證方法實施例,其係詳述於後,惟不以此為限。
舉例來說,當一新的設備經由一未知的閘道器加入物聯網,必須進行相互認證來確認彼此身分合法性,以進一步建立安全且可靠的通訊。請參閱第1及2圖所示。
舉例來說,該認證方法實施例可在完成一註冊過程後才進行,首先,該物聯網設備(如E1或E2)將會產生認證資訊,並將該認證資訊發送到一閘道器G以發起一認證交易,以下舉例說明該物聯網設備如何產生認證所需的資訊。
為了使閱讀者能充分瞭解本發明的該基於區塊鏈的物聯網雙向認證方法實施例,先舉例說明註冊過程,如下所述,惟不以此為限。
如第1圖所示,在物聯網架構中,物聯網設備需要通過閘道器加入物聯網網路進行通訊。因此,閘道器和物聯網設備都必須進行身分註冊,以確保物聯網系統的安全。
例如:一物聯網設備(或簡稱設備)在被售出以前,可由設備製造商先註冊設備並記錄在智能合約中,譬如,首先,為特定物聯網設備產生一個隨機挑戰碼(CD_1),並通過物聯網設備的物理不可複製功能(PUF)產生相應的響應值(RD_1),然後進行雜湊運算產生n位元的雜湊值h,如公式(1)及公式(2)所示;可將h分為k等分(n/k位元),在此以分為四等分(n/4位元)為例,該四等分數據可用以形成四個坐標點(諸如P1、P2、P3、P4)的Y坐標數值,而該四等分的序號或編號可表示為X坐標數值,如第2圖所示,可用這四個點建構一個未知數的三次方程式,然後將三次方程式的四個係數串接成秘密值(s),如公式(3)及公式(4)所示。
最後,通過公式(5)的計算得到驗證碼(vc)並記錄在智能合約中,作為日後驗證物聯網設備身分的資訊。其中由於離散對數問題的難度,即使vc是公開的,原始秘密值也無法被獲得。
另一方面,為了讓物聯網設備正確獲取認證結果,設備廠商可隨機指定多個(如m個)區塊鏈節點作為認證回報節點(ARN),負責對認證結果進行加密和簽章。譬如,首先,產生一個隨機挑戰碼(CD_2),設備進行公式(1)及(6)的計算過程,產生一群組加密金鑰(GED)的元素,發送給各個認證回報節點對認證結果進行加密。此外,在物聯網設備和每個認證回報節點之間通過公式(7)創建機密值(EARNi)的元素進行簽名。最後,該物聯網設備將儲存(CD_1,CD_2),每個認證回報節點將儲存IDD、GED和EARNi。
R=PUF(C) (1)
其中,R為物理不可複製功能的函數值;PUF為物理不可複製功能的函數;C為挑戰碼。
h=H(R) (2)
其中,h為雜湊值;H為雜湊函數(hash function);R為物理不可複製功能的函數值。
y=ax3+bx2+cx+d (3)
其中,y為一元多次方程式的函數值;a、b、c為一元多次方程式的係數及d為常數;+為數值相加運算符號。
s=a∥b∥c∥d (4)
其中,s為一元多次方程式的係數串接值,可作為秘密值;∥為資料串接運算符號;a、b、c為一元多次方程式的係數及d為常數。
vc=gs mod q (5)
其中,vc為公開驗證碼,g為在有限域上具有階質數q的循環群G的生成值;s為一元多次方程式的係數串接值,可作為秘密值;mod為模數運算符號。
GED=H(R∥IDARNi) (6)
其中,GED為群組加密金鑰的元素(非矩陣元素);H為雜湊函數;R為物理不可複製功能的函數值;IDARNi為可表示認證回報節點(如ARNi,i=1、2、...、m)身分的編碼或數值;∥為資料串接運算符號。。
EARNi=H(R∥IDD) (7)
其中,EARNi為各該認證回報節點(如ARNi,i=1、2、...、m)的機密值元素(非矩陣元素,可用於產生機密值);H為雜湊函數;R為物理不可複製功能的函數值;IDD為可表示物聯網設備身分的編碼或數值;∥為資料串接運算符號。
上述註冊過程以舉例說明如上。以下舉例說明認證過程,惟不以此為限,請一併參閱第3圖,該基於區塊鏈的物聯網雙向認證方法實施例可包括步驟S1至S3,為了獲得其他功能,還可包括步驟S4至S6。其中,以舉例方式說明步驟S1至S6執行過程中可採用的公式編號,如(1)至(23),可於第3圖的步驟S1至S6進行運算,詳如後述,以使閱讀者便於理解本發明實施例,惟不以此為限。
如第3圖所示,如步驟S1,該物聯網設備E可使用被儲存的一挑戰碼C(如CD_1)以公式(1)建立屬於該物聯網設備E的一物理不可複製功能(PUF)的相應函數值,以便進一步藉由公式(2)的計算過程產生n位元的一雜湊值(如h),如第3圖所示,該雜湊值h可進一步被分割成k等分,在此例中,以k=4為例進行說明,惟不以此為限,譬如該雜湊值h可被分成四等分,用於表示在二維座標系上的k
點的座標,該座標(X,Y)中,X表示序號(如該雜湊值h的第1、2、...、k等分),Y表示第1、2、...、k等分的n/k位元資料,以建構一個一元多次(如k-1次)方程式,在此例中,可表示為一個一元三次方程式,如公式(3)所示;後續,可將該一元多次(如三次)方程式的係數進行一資料合併過程,譬如可採用資料串接,如公式(4)所示,以產生一秘密值s,其中該秘密值s可以是在註冊過程中被建立。
當進行身分認證後,需要更新用於認證驗證碼的判定基礎,以確認妥協後的安全與以避免攻擊者成功破解機密值所導致的安全風險。譬如,該物聯網設備E可隨機產生一隨機值nD_h,並且藉由公式(8)取得一n位元的雜湊值h*。類似地,可將該雜湊值h*分割成k(如k=4)等分以表示為四個座標點及一元四次方程式的係數,通過公式(5),可以獲得一相應的新驗證碼vc*。
在獲得該公開驗證碼vc及新驗證碼vc*後,該物聯網設備可將該公開驗證碼包裝成一對身分認證資訊(u,e),如公式(9)及(10)所示。
h*=H(R∥nD_h) (8)
其中,h*為新雜湊值;H為雜湊函數;R為物理不可複製功能的函數值;nD_h為可用於身分認證的隨機數。
e=H(vc*) (9)
其中,e為認證資訊中的認證糾錯碼;H為雜湊函數;vc*為新驗證碼。
u=s*-se mod q-1 (10)
其中,u為認證資訊中的認證運算碼;s為秘密值;e為認證糾錯碼;s*為新秘密值;q為循環群G之有階質數;mod為模數運算符號。
sigG=sign(IDG∥nD_a) (11)
其中,IDG為可表示閘道器身分的編碼或數值;nD_a為身分認證交易之隨機值;sign為數位簽章產生函數,譬如RSA演算函數等;sigG為閘道器對訊息IDG與nD_a串接後的簽章結果;G為循環群。
另一方面,為了確保來自區塊鏈節點的被加密及被簽章的身分認證結果具有完美前向保密特性,該物聯網設備E將可隨機地選擇nD_a,用於製作在每個身分驗證中加密和簽章所需的群組加密金鑰和機密值。後續,該物聯網設備將可發送一訊息到該閘道器G,該訊息可包括(u,e)、IDD及nD_a。
在該閘道器接收來自該物聯網設備的有關身分認證的資訊後,可使用公式(11)來產生一數位簽章(digital signature,sigG),用以驗證身分。後續,該閘道器G還可發起一交易(transaction)以進行該智能合約的相互認證過程,該交易訊息可包括該閘道器G的數位簽章及該物聯網設備E的認證資訊,如步驟S2所示。
在該區塊鏈網路(如圖所示的N)取得由該閘道器G發起的交易後,該區塊鏈網路中的多個節點(如每個認證回報節點M)通過該智能合約驗證該驗證資訊的合法性。若該交易被該區塊鏈節點驗證及簽章,該交易及相關結果將通過該區塊鏈的共識機制(consensus mechanism)被記錄在該區塊鏈,如步驟S3所示。
舉例說明該區塊鏈的特定驗證過程。譬如,首先,該區塊鏈的多個節點將可使用被儲存在該智能合約T的該閘道器G的一公用金鑰(KG)來驗證該數位簽章(sigG)的合法性,以確認該閘道器G的身分。後續,該區塊鏈的多個節點將可驗證該物聯網設備E的身分,譬如,先使用該物聯網設備E的IDD作為索引值來尋找該交易的公開驗證碼vc,並且使用被接收的(u,e)來進行公式(12),以驗
證該物聯網設備E的身分。同時,由該物聯網設備E製作用於下次認證的新驗證碼(vc*)將被取得。後續,可使用公式(13)計算與認證糾錯碼e相應的糾錯確認碼ê,並且判斷該糾錯確認碼ê與該認證糾錯碼e是否相同,以決定該物聯網設備是否已通過合法驗證。如果該物聯網設備通過合法驗證,將該新驗證碼vc*儲存在該智能合約T,用於下次認證。
vc*=guvce mod q vc*=guvce=guvce=gs*-segse=gs* (12)
其中,g為在有限域上具有階質數q的循環群G的生成值;u為認證資訊中的認證運算碼;e為認證糾錯碼;(u,e)可做為認證資訊;vc為公開驗證碼;vc*為新產生的公開驗證碼;s為秘密值;s*為新秘密值;gu為基於認證運算碼產生的在有限域上具有階質數q的循環群G的生成值;vce為基於認證糾錯碼產生的公開驗證碼;gs*-se為基於秘密值、新秘密值及認證糾錯碼產生的在有限域上具有階質數q的循環群G的生成值;gse為基於秘密值及認證糾錯碼產生的在有限域上具有階質數q的循環群G的生成值;gs*為基於新秘密值產生的在有限域上具有階質數q的循環群G的生成值;mod為模數運算符號。
ê=H(vc*) (13)
其中,vc*為新產生的公開驗證碼;H為雜湊函數;ê為糾錯確認碼,可作為確認該認證糾錯碼是否可被使用之確認碼。
在該區塊鏈的特定驗證過程完成後,該交易將被記錄在該鏈。為了讓沒有區塊鏈帳戶的該物聯網設備E能夠得知該閘道器G在該區塊鏈中的身分驗證結果,此時,多個認證回報節點(如m個)將可獨立地傳送一加密簽章的身分認證結果,再由該閘道器進行聚合後發送給該物聯網設備,如步驟S4所示。
舉例而言,首先,各該認證回報節點(如ARNi,i=1、2、...、m;m為正整數)將確認是否儲存該IDD,該IDD是在該交易內容中標識該交易內容是否由負責傳送該認證結果的物聯網設備所產生。若該認證回報節點儲存此IDD,將使用該交易的nD_a及被儲存的群組加密金鑰的元素(GED)來進行公式(14)的計算過程,以產生一群組加密金鑰(GKD),並且,使用此金鑰來加密該該閘道器的認證結果以取得一加密訊息(msgARNi),如公式(15)所示。後續,各該認證回報節點使用被儲存的機密值(EARNi)的元素及nD_a來進行公式(16)的計算過程,以產生一機密值(cARNi),後續使用公式(17)來產生將該加密訊息(sigARNi)進行簽章的結果。附加地,使得該物聯網設備E可以驗證該簽章及保護該機密值,各該認證回報節點M將使用公式(18)來產生一公用機密值(CARNi)。從而,利用離散對數問題的難度,可保護機密值的安全,避免偽造簽章的問題。在簽章過程完成後,各該認證回報節點M將發送該簽章及相關資訊,諸如sigARNi、CARNi、KARNi、msgARNi,到該閘道器G以製作多個聚合簽章,如步驟S5所示。
GKD=H(GED∥nD_a) (14)
其中,nD_a為身分認證交易之隨機值;GED為群組加密金鑰的元素;GKD為群組加密金鑰;H為雜湊函數;∥為資料串接運算符號。
msgARNi={認證結果}GKD (15)
其中,認證結果為區塊鏈節點驗證交易的結果;GKD為群組加密金鑰;msgARNi為認證回報節點(如ARNi,i=1、2、...、m)對認證結果加密後的訊息。
cARNi=H(EARNi∥nD_a) (16)
其中,EARNi為認證回報節點(如ARNi,i=1、2、...、m)所持有的機密值元素;nD_a為身分認證交易之隨機值;cARNi為認證回報節點的機密值;H為雜湊函數;∥為資料串接運算符號。
sigARNi=cARNi+H(msgARNi)KARNi -1 (17)
其中,cARNi為認證回報節點(如ARNi,i=1、2、...、m)的機密值;msgARNi為認證回報節點(如ARNi,i=1、2、...、m)對認證結果加密後的訊息;H為雜湊函數;KARNi -1為認證回報節點(如ARNi,i=1、2、...、m)的私鑰;sigARNi為認證回報節點(如ARNi,i=1、2、...、m)所產生的簽章。
CARNi=cARNig (18)
其中,cARNi為認證回報節點(如ARNi,i=1、2、...、m)的機密值;g為橢圓曲線生成元;CARNi為認證回報節點(如ARNi,i=1、2、...、m)的公開機密值。
siggroup=sigARNj+...+sigARNw Cgroup=CARNj+...+CARNw Kgroup=KARNj+...+KARNw (19)
將具有相同加密結果分為同群組,其中,siggroup為認證回報節點所產生之簽章的總和;sigARNj與sigARNw為同群組的首個與末個認證回報節點所產生之簽章,j與w為正整數;Cgroup為認證回報節點(如ARNi,i=1、2、...、m)所產生之公開機密值的總和;CARNj與CARNw為同群組的首個與末個認證回報節點所產生之公開機密值,j與w為正整數;Kgroup為認證回報節點之公鑰總和;KARNj與KARNw為同群組的首個與末個認證回報節點之公鑰,j與w為正整數。
NG=gn G mod q (20)
其中,nG為閘道器所產生隨機值;g為橢圓曲線生成元;gn G為基於閘道器所產生隨機值的橢圓曲線生成元;q為循環群G的order值,為質數;NG為閘道器之公開隨機值;mod為模數運算符號。
siggroupg=Cgroup+H(msg)Kgroup (21)
其中,Cgroup為認證回報節點所產生之公開機密值的總和;H為雜湊函數;msg為加密結果;H為雜湊函數;Kgroup為認證回報節點之公鑰總和;siggroup為認證回報節點所產生之簽章的總和;g為橢圓曲線生成元。
SKGD=NG s mod q (22)
其中,SKGD為閘道器與物聯網設備間的會話金鑰;s為秘密值;NG為閘道器之公開隨機值;NG s為基於秘密值的閘道器之公開隨機值;mod為模數運算符號。
SKGD=vcn G mod q (23)
其中,SKGD為閘道器與物聯網設備間的會話金鑰;vc為公開驗證碼;nG為閘道器所產生隨機值;vcn G為基於閘道器所產生隨機值的公開驗證碼;q為質數;mod為模數運算符號。
在該閘道器G接收到來自該多個(如m個)不同認證回報節點G的眾多簽章結果(如m個),將查詢該區塊鏈的交易結果來確定該物聯網設備E是否為合法的。若為合法,將進行用於該物聯網設備E的聚合簽章的過程,該閘道器G可根據被接收的加密訊息將該簽章分為不同類別,然後使用公式(19)將同類加密訊息的sig、C及K分別加起來;後續,獲得聚合簽章的多個結果。以兩組簽章結果為例,將獲得群組1(group1)的siggroup1、Cgroup1、Kgroup1、msgtype1、IDS以及群組1(group2)的siggroup2、Cgroup2、Kgroup2、msgtype2、IDS。在此過程中,由於該閘道器
G沒有一群組加密金鑰(group encryption key,GKD),該閘道器無法得知關於它的身分認證結果且無法篡改簽章。此外,為了確保與該物聯網設備的通訊安全,該閘道器將產生一隨機數nG,並使用公式(20)來產生NG,其可被用於未來建立一會話金鑰(session key,SKGD),用於通過譬如Diffie-Hellman金鑰交換方法(Diffie-Hellman key exchange method)與該物聯網設備E進行通訊;後續,該閘道器G發送該聚合簽章及NG到該物聯網設備E。
在該物聯網設備E接收該聚合簽章後,該物聯網設備將驗證該簽章並解密該認證結果,譬如,首先,利用公式(21)驗證該簽章的合法性,若為合法簽章,將進一步驗證Cgroup1是否確實由該多個認證回報節點M所產生,該物聯網設備將可通過PUF使用被儲存的挑戰碼CD_2來獲得RD_2,並且使用公式(7)、(16)及(18)來計算該公用機密值(CARNi)。在添加屬於群組1(group1)的所有數值後,比較是否為Cgroup1以確認是否該聚合簽章是由該多個認證回報節點M所產生。在驗證該兩組聚合簽章後,該物聯網設備E將使用公式(3)及(14)來獲得該群組加密金鑰(GKD),並且分別解密msgtype1及msgtype2。後續,該閘道器G的合法性可根據大部分認證回報節點M的簽章結果來決定,並且完成該物聯網設備E與該閘道器G的交互認證過程。當雙方通信時,該物聯網設備E與該閘道器G將可使用公式(22)及公式(23)來產生該會話金鑰,以保證通訊安全。
承上所述,本發明一實施例的基於區塊鏈的物聯網雙向認證方法,可應用於至少一物聯網設備由至少一閘道器耦接一區塊鏈網路,該區塊鏈網路包括數個認證回報節點,該方法包括步驟:由該物聯網設備產生一認證資訊,將該認證資訊發送到該閘道器,該認證資訊包括依據一雜湊值切割形成多個座標衍生的一元多次方程式的多個係數所產生的資料;由該閘道器依據該認
證資訊發起一區塊鏈交易;及由該數個認證回報節點依據該區塊鏈交易及一智能合約分別認證該物聯網設備及該閘道器的身分。藉此,可通過區塊鏈網路來驗證物聯網設備與閘道器的身分合法性,除可降低物聯網設備的運算負擔。
可選地,在一實施例中,產生該認證資訊的步驟包括:將該雜湊值切割成多個等分;將該雜湊值的多個等分依序編號;以該編號及該雜湊值的多個等分形成在二維座標系上的多個座標;依據該多個座標衍生該一元多次方程式;及將該一元多次方程式的多個係數串接產生一秘密值。藉此,可利用該雜湊值的多個等分形成在二維座標系上的多個座標及該一元多次方程式的係數串接產生該秘密值,有效降低該秘密值與該雜湊值的間接關聯性。
可選地,在一實施例中,產生該認證資訊的步驟包括:依據該秘密值產生一公開驗證碼;依據該公開驗證碼產生一對身分認證資訊;產生一隨機值;產生一設備身分碼;及依據該對身分認證資訊、該隨機值及該設備身分碼產生該認證資訊。藉此,可通過該對身分認證資訊、該隨機值及該設備身分碼產生該認證資訊做為後續認證基礎,且該物聯網設備只需儲存產生該對身分認證資訊的挑戰碼,可降低設備儲存需求,有利於用於資源相對有限的物聯網設備。
可選地,在一實施例中,產生該認證資訊的步驟包括:產生一挑戰碼;及依據該挑戰碼與一設備不可複製功能函數產生該雜湊值。藉此,可依據設備不可複製功能函數避免該認證資訊遭到物理攻擊,由於物聯網設備的身分認證資訊是由該物聯網設備整合的不可複製功能所產生,而不可複製功能是設備製造過程中不可預知的物理特性,即使製造方法相同,也不會產生相同的不可複製功能,因此,認證資訊是不可複製的。
可選地,在一實施例中,該數個認證回報節點分別依據被儲存在該智能合約中的該閘道器的一公用金鑰驗證發起該區塊鏈交易的簽章合法性,用以認證該閘道器的身分。藉此,可利用該數個認證回報節點認證該閘道器的身分,並將驗證結果紀錄在鏈中。
可選地,在一實施例中,該數個認證回報節點分別依據該物聯網設備的身分資訊為索引,尋找該區塊鏈交易的公開驗證碼,使用該認證資訊計算與該公開驗證碼相應的一新驗證碼,判斷基於該公開驗證碼及一雜湊函數產生的一認證糾錯碼與基於該新驗證碼及該雜湊函數產生的一糾錯確認碼是否相同,以決定該物聯網設備是否已通過合法驗證,如果該物聯網設備通過合法驗證,將該新驗證碼儲存在該智能合約,用於下次認證。藉此,可不斷更新驗證碼,以避免驗證碼被破解遭不當冒用,還可利用該數個認證回報節點認證該物聯網設備的身分,並將驗證結果紀錄在鏈中。
可選地,在一實施例中,各該認證回報節點將該物聯網設備的身分認證結果及該閘道器的身分認證結果分別加密以產生一認證加密簽章。藉此,可供該物聯網設備及該閘道器得知對方的身分認證結果,在確定對方身分合法性後,才進行後續通訊,有利於提高通訊安全性。
可選地,在一實施例中,該閘道器依據來自該數個認證回報節點的該認證加密簽章進行驗證及分類後產生一聚合簽章。藉此,可依據來自該數個認證回報節點的該認證加密簽章產生該聚合簽章,以提高通訊安全性。
可選地,在一實施例中,該物聯網設備驗證該聚合簽章,將該聚合簽章進行解密,以獲取該閘道器的身分合法性。藉此,可供該物聯網設備取
該閘道器的身分合法性,作為後續是否與該閘道器進行通訊的依據,有利於提高通訊安全性。
可選地,在一實施例中,該聚合簽章包括一會話金鑰,用以供該物聯網設備與該閘道器進行通訊。藉此,可產生該會話金鑰作為該物聯網設備與該閘道器之間的私有金鑰,供該物聯網設備與該閘道器進行通訊。
以下舉例說明本發明上述方法實施例的安全性分析,以使閱讀者得知本發明上述方法實施例的有益功效,惟不以此為限。
在安全分佈式驗證方面,本發明提出了一種基於區塊鏈的身分認證方法。本發明上述方法實施例指派有信譽的物聯網節點來維護區塊鏈網路及驗證區塊鏈交易,並通過權威證明共識(Proof-of-Authority)機制來記錄交易結果。與習知技術1至2(如Javaid,U.,M.N.Aman,and B.Sikdar.DrivMan:Driving trust management and data sharing in VANETS with blockchain and smart contracts.in 2019 IEEE 89th Vehicular Technology Conference(VTC2019-Spring).2019.IEEE;Li,D.,et al.A blockchain-based authentication and security mechanism for IoT.In 2018 27th International Conference on Computer Communication and Networks(ICCCN).2018.IEEE)相比,習知技術沒有明確定義用於維護區塊鏈的角色,這將會導致區塊鏈數據不同步或異常的問題。本發明上述方法實施例可以保證區塊鏈數據的一致性和正確性。再者,在區塊鏈網路中,本發明利用每個節點獨立驗證交易,可避免因依賴單一受信任的組織而導致的單點故障。此外,本發明上述方法實施例的任何決策都是公開、透明、不可變的,可以防止對認證結果的惡意篡改,保證身分認證的可靠性和可信度。
在防止物理及克隆攻擊方面,由於物聯網設備的身分認證資訊是由該物聯網設備整合的PUF所產生,而PUF是設備製造過程中不可預知的物理特性,即使製造方法相同,也不會產生相同的PUF。因此,認證資訊是不可複製的。而且,如果攻擊者試圖通過外力破壞設備來獲取其中的PUF資訊,將會導致晶片特性發生變化,而不再得到正確的值。因此,該認證資訊可以避免物理攻擊。
在防止假冒攻擊方面,習知技術1(如Javaid,U.,M.N.Aman,and B.Sikdar.DrivMan:Driving trust management and data sharing in VANETS with blockchain and smart contracts.in 2019 IEEE 89th Vehicular Technology Conference(VTC2019-Spring).2019.IEEE)中的機密認證資訊被儲存在區塊鏈中用來作為智能汽車的法律依據。但是,這種做法沒有考慮到在公共環境中,任何實體都可以利用公共認證資訊偽造合法註冊設備的身分來加入網絡,從而錯誤地傳輸資訊或使網路癱瘓。針對上述問題,本發明上述方法實施例提出結合區塊鏈網路中的零知識證明協議的身分認證方案。即使驗證碼(vc)和認證過程公開儲存在區塊鏈網路中,但若無法知道認證資訊的產生方式,將使得攻擊者難以偽造合法的物聯網身分設備。因此,本發明上述方法實施例可以保護設備認證資訊的安全性,並可抵抗假冒攻擊。
在具有妥協後安全性與防止反對重播的身分驗證信息攻擊方面,習知技術1至3(如Javaid,U.,M.N.Aman,and B.Sikdar.DrivMan:Driving trust management and data sharing in VANETS with blockchain and smart contracts.in 2019 IEEE 89th Vehicular Technology Conference(VTC2019-Spring).2019.IEEE;Li,D.,et al.A blockchain-based authentication and security mechanism for IoT.In 2018 27th International Conference on Computer Communication and Networks
(ICCCN).2018.IEEE;Prada-Delgado,M.A.,et al.,PUF-derived IoT identities in a zero-knowledge protocol for blockchain.Internet of Things,2020.9:p.100057),身分認證資訊是固定的,這將能給攻擊者足夠的時間使用暴力攻擊獲取設備的認證資訊,進一步偽造合法設備資訊用來加入物聯網。
在本發明上述方法實施例中,每次認證通過後都會更新驗證碼(vc)用於下一次認證,使用一次性認證資訊可以降低認證被成功破解的可能性。此外,即使攻擊者成功破解先前的認證資訊,由於每次認證通過後都會更新驗證碼,使得攻擊者無法據以推演出新的認證資訊,以確保妥協後的安全性,有利於提升通訊安全性。
在防止中間人攻擊方面,在本發明上述方法實施例中,由於物聯網設備沒有區塊鏈帳戶,因此需要通過閘道器來發起交易和查看區塊鏈資訊。為了防止閘道器進行中間人攻擊與篡改認證結果,可在註冊階段預先指定多個(如m個)回報節點,並在每個節點(IDARNi)和設備之間分別建立一個機密值元素(EARNi)和一個組加密密鑰元素(GED)。在交易完成後,每個認證回報節點可在進行交易的nD_a操作後,產生交易的群組加密金鑰(GKD)及機密值(cARNi),譬如首先使用群組加密金鑰對該閘道器的認證結果進行加密,得到加密訊息。(msgARNi),然後使用私有金鑰和產生的機密值(cARNi)對加密訊息進行簽章,每個節點向該閘道器發送簽章後,該閘道器對簽章進行分類,然後進行聚合,最後將聚合簽章發送給該物聯網設備。該物聯網設備首先驗證該閘道器產生的聚合簽章是否合法,並對加密訊息進行解密,確認該閘道器的合法性。
另一方面,本發明上述方法實施例通過驗證該機密值來確認簽章確實是由該些認證回報節點所產生,以確認它沒有被第三方篡改或偽造,因此
可以抵抗中間人攻擊。由於每次交易使用的群組加密金鑰和機密值不同,產生的簽章具有完全前向保密的特性。即使攻擊者成功破解先前的資訊,也很難偽造最新的簽章資訊。
在表一中,本發明方法實施例全方面具備安全的去中心化身分認證、防止物理和克隆攻擊、防止假冒攻擊、具有妥協後安全性的驗證資訊、防止重播攻擊及防止中間人攻擊等安全性功能,相較於習知技術1至3,本發明方法實施例可以提供完整的安全性防護,可以有效提高通訊安全性。
在表二中,NH為雜湊函數的數量,NMAC為MAC的數量,NSYM為對稱式加密與解密的數量,NASYM為非對稱式加密與解密的數量,NPUF為PUF的數量,NXOR為XOR的數量,NxLPN為xLPN運算的數量,Ns為平方計算取冪的數量,
NLAGRANGE為LAGRANGE運算的數量,NTRANSACTION為區塊鏈交易的數量。除了本發明方法實施例之外,習知技術1至3都使用非對稱金鑰加解密技術,這使得計算成本更高。
在表三中,由於本發明方法實施例中的物聯網設備不涉及區塊鏈操作,也不涉及非對稱加密,因此複雜度為O(n)。與使用區塊鏈機制執行認證過程的習知技術相比,本發明方法實施例對於物聯網設備更為實用。其中,由於區塊鏈節點必須參與交易驗證,所以複雜度都是O(n+k3)。
綜上所述,本發明的基於區塊鏈的物聯網雙向認證方法,通過由該物聯網設備產生該認證資訊,將該認證資訊發送到該閘道器,該認證資訊包括依據該雜湊值切割形成多個座標衍生的一元多次方程式的多個係數所產生的資料;由該閘道器依據該認證資訊發起該區塊鏈交易;及由該數個認證回報節點依據該區塊鏈交易及該智能合約分別認證該物聯網設備及該閘道器的身分。藉此,可通過區塊鏈網路來驗證物聯網設備與閘道器的身分合法性,除可降低物聯網設備的運算負擔,還具備安全的去中心化身分認證、防止物理和克隆攻擊、防止假冒攻擊、具有妥協後安全性的驗證資訊、防止重播攻擊及防止中間人攻擊等安全性功能,可以有效提高通訊安全性。
雖然本發明已以較佳實施例揭露,然其並非用以限制本發明,任何熟習此項技藝之人士,在不脫離本發明之精神和範圍內,當可作各種更動與修飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S1:步驟
S2:步驟
S3:步驟
S4:步驟
S5:步驟
S6:步驟
E:物聯網設備
G:閘道器
M:認證回報節點
(u,e):認證資訊中的認證運算碼及認證糾錯碼
IDD:可表示物聯網設備身分的編碼或數值
nD_a:身分認證交易之隨機值
Claims (10)
- 一種基於區塊鏈的物聯網雙向認證方法,應用於至少一物聯網設備由至少一閘道器耦接一區塊鏈網路,該區塊鏈網路包括數個認證回報節點,該方法包括步驟: 由該物聯網設備產生一認證資訊,將該認證資訊發送到該閘道器,該認證資訊包括依據一雜湊值切割形成多個座標衍生的一元多次方程式的多個係數所產生的資料; 由該閘道器依據該認證資訊發起一區塊鏈交易;及 由該數個認證回報節點依據該區塊鏈交易及一智能合約分別認證該物聯網設備及該閘道器的身分。
- 如請求項1所述之基於區塊鏈的物聯網雙向認證方法,其中產生該認證資訊的步驟包括: 將該雜湊值切割成多個等分; 將該雜湊值的多個等分依序編號; 以該編號及該雜湊值的多個等分形成在二維座標系上的多個座標; 依據該多個座標衍生該一元多次方程式;及 將該一元多次方程式的多個係數串接產生一秘密值。
- 如請求項2所述之基於區塊鏈的物聯網雙向認證方法,其中產生該認證資訊的步驟包括: 依據該秘密值產生一公開驗證碼; 依據該公開驗證碼產生一對身分認證資訊; 產生一隨機值; 產生一設備身分碼;及 依據該對身分認證資訊、該隨機值及該設備身分碼產生該認證資訊。
- 如請求項1所述之基於區塊鏈的物聯網雙向認證方法,其中產生該認證資訊的步驟包括: 產生一挑戰碼;及 依據該挑戰碼與一設備不可複製功能函數產生該雜湊值。
- 如請求項1所述之基於區塊鏈的物聯網雙向認證方法,其中該數個認證回報節點分別依據被儲存在該智能合約中的該閘道器的一公用金鑰驗證發起該區塊鏈交易的簽章合法性,用以認證該閘道器的身分。
- 如請求項1所述之基於區塊鏈的物聯網雙向認證方法,其中該數個認證回報節點分別依據該物聯網設備的身分資訊為索引,尋找該區塊鏈交易的公開驗證碼,使用該認證資訊計算與該公開驗證碼相應的一新驗證碼,判斷基於該公開驗證碼及一雜湊函數產生的一認證糾錯碼與基於該新驗證碼及該雜湊函數產生的一糾錯確認碼是否相同,以決定該物聯網設備是否已通過合法驗證,如果該物聯網設備通過合法驗證,將該新驗證碼儲存在該智能合約,用於下次認證。
- 如請求項1所述之基於區塊鏈的物聯網雙向認證方法,其中各該認證回報節點將該物聯網設備的身分認證結果及該閘道器的身分認證結果分別加密以產生一認證加密簽章。
- 如請求項7所述之基於區塊鏈的物聯網雙向認證方法,其中該閘道器依據來自該數個認證回報節點的該認證加密簽章進行驗證及分類後產生一聚合簽章。
- 如請求項8所述之基於區塊鏈的物聯網雙向認證方法,其中該物聯網設備驗證該聚合簽章,將該聚合簽章進行解密,以獲取該閘道器的身分合法性。
- 如請求項8所述之基於區塊鏈的物聯網雙向認證方法,其中該聚合簽章包括一會話金鑰,用以供該物聯網設備與該閘道器進行通訊。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110138458A TWI778828B (zh) | 2021-10-15 | 2021-10-15 | 基於區塊鏈的物聯網雙向認證方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110138458A TWI778828B (zh) | 2021-10-15 | 2021-10-15 | 基於區塊鏈的物聯網雙向認證方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI778828B true TWI778828B (zh) | 2022-09-21 |
TW202318834A TW202318834A (zh) | 2023-05-01 |
Family
ID=84958319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110138458A TWI778828B (zh) | 2021-10-15 | 2021-10-15 | 基於區塊鏈的物聯網雙向認證方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI778828B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701797A (zh) * | 2013-12-23 | 2014-04-02 | 江苏物联网研究发展中心 | 一种轻量级的节点、网关双向身份认证方法 |
CN107249009A (zh) * | 2017-08-02 | 2017-10-13 | 广东工业大学 | 一种基于区块链的数据校验方法及系统 |
US20170302663A1 (en) * | 2016-04-14 | 2017-10-19 | Cisco Technology, Inc. | BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION |
TW202024943A (zh) * | 2018-12-17 | 2020-07-01 | 大陸商上海訊琥物聯網科技有限公司 | 具有分散式記帳的多址接入邊緣計算節點 |
-
2021
- 2021-10-15 TW TW110138458A patent/TWI778828B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701797A (zh) * | 2013-12-23 | 2014-04-02 | 江苏物联网研究发展中心 | 一种轻量级的节点、网关双向身份认证方法 |
US20170302663A1 (en) * | 2016-04-14 | 2017-10-19 | Cisco Technology, Inc. | BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION |
CN107249009A (zh) * | 2017-08-02 | 2017-10-13 | 广东工业大学 | 一种基于区块链的数据校验方法及系统 |
TW202024943A (zh) * | 2018-12-17 | 2020-07-01 | 大陸商上海訊琥物聯網科技有限公司 | 具有分散式記帳的多址接入邊緣計算節點 |
Also Published As
Publication number | Publication date |
---|---|
TW202318834A (zh) | 2023-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210367753A1 (en) | Trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption | |
CN108886468B (zh) | 用于分发基于身份的密钥资料和证书的系统和方法 | |
CN108768608B (zh) | 在区块链pki下支持瘦客户端的隐私保护身份认证方法 | |
US8670563B2 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
Zhang et al. | Efficient and privacy-preserving blockchain-based multifactor device authentication protocol for cross-domain IIoT | |
US20160119291A1 (en) | Secure communication channel with token renewal mechanism | |
US20030204724A1 (en) | Methods for remotely changing a communications password | |
US12047519B2 (en) | Physical unclonable function based mutual authentication and key exchange | |
JP2017517229A (ja) | 動的鍵生成を用いるネットワーク認証システム | |
CN110020524B (zh) | 一种基于智能卡的双向认证方法 | |
CN112165386B (zh) | 一种基于ecdsa的数据加密方法及系统 | |
WO2023151427A1 (zh) | 量子密钥传输方法、装置及系统 | |
CN111614621A (zh) | 物联网通信方法和系统 | |
CN111783136A (zh) | 一种数据保护方法、装置、设备和存储介质 | |
De Smet et al. | Lightweight PUF based authentication scheme for fog architecture | |
Pathak et al. | Secure authentication using zero knowledge proof | |
CN117155564A (zh) | 一种双向加密认证系统及方法 | |
Huszti et al. | A simple authentication scheme for clouds | |
Cui et al. | Efficient blockchain-based mutual authentication and session key agreement for cross-domain IIoT | |
Braeken | PUF‐Based Authentication and Key Exchange for Internet of Things | |
Lee et al. | Secure and anonymous authentication scheme for mobile edge computing environments | |
Zhang et al. | Privacy-preserving biometric authentication: Cryptanalysis and countermeasures | |
Chang et al. | On making U2F protocol leakage-resilient via re-keying | |
TWI778828B (zh) | 基於區塊鏈的物聯網雙向認證方法 | |
CN115459975A (zh) | 一种基于Chebyshev多项式的工业边缘设备无证书接入认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |