本發(fā)明屬于信息安全,具體涉及一種具有盲驗證功能的輔助異構(gòu)遠程認證方法及系統(tǒng)。
背景技術(shù):
1、本部分的陳述僅僅是提供了與本發(fā)明相關(guān)的背景技術(shù)信息,不必然構(gòu)成在先技術(shù)。
2、近年來,隨著信息技術(shù)的快速發(fā)展,云計算、物聯(lián)網(wǎng)和區(qū)塊鏈等領(lǐng)域面臨著設(shè)備身份驗證、數(shù)據(jù)安全性和計算過程可信性等問題。為了應(yīng)對這些挑戰(zhàn),密碼學(xué)領(lǐng)域正致力于提升遠程認證技術(shù)的性能和安全性。
3、遠程證明技術(shù)提供了一種強有力的機制,它能夠在多樣的網(wǎng)絡(luò)環(huán)境中確立遠程設(shè)備的安全性與可信性。作為可信計算領(lǐng)域內(nèi)的一項核心技術(shù),遠程證明使得信任方能夠?qū)δ切┪挥谶h程且不可信的設(shè)備的內(nèi)部狀態(tài)進行核查。這一過程,通常依托于可信執(zhí)行環(huán)境(trusted?execution?environment,簡稱tee)這一安全基礎(chǔ)來完成。
4、tee構(gòu)成了隱私計算的基礎(chǔ)硬件環(huán)境,它在潛在不安全的系統(tǒng)中打造出一個安全的區(qū)域,專門用于執(zhí)行敏感操作和存儲敏感數(shù)據(jù)。市面上存在多種tee實現(xiàn),由不同的硬件廠商開發(fā),包括知名的intel?sgx、amd?sev、arm?trustzone,以及國產(chǎn)技術(shù)如海光、兆芯、鯤鵬和飛騰等。這種多樣性促進了市場的繁榮,但也引發(fā)了若干挑戰(zhàn):
5、當前,業(yè)界尚未就tee形成一套統(tǒng)一的技術(shù)規(guī)范,這種缺乏標準化的狀況導(dǎo)致不同廠商的tee之間難以實現(xiàn)無縫兼容。這種碎片化不僅推高了開發(fā)成本,增加了開發(fā)的復(fù)雜性,還可能對隱私計算應(yīng)用的性能和效率產(chǎn)生不利影響。為了推動隱私計算的廣泛應(yīng)用,亟需建立跨平臺的統(tǒng)一標準,這將有助于簡化開發(fā)流程,增強tee應(yīng)用的互操作性,從而提升整體的效率。
6、盡管近期一些新興的隱私計算系統(tǒng)開始關(guān)注異構(gòu)tee算力在系統(tǒng)中的協(xié)同工作,但它們在方案設(shè)計時往往忽視了tee交互過程中的安全性問題。這樣的疏忽可能使系統(tǒng)容易受到中間人攻擊等安全威脅。
技術(shù)實現(xiàn)思路
1、本發(fā)明為了解決上述問題,提出了一種具有盲驗證功能的輔助異構(gòu)遠程認證方法及系統(tǒng),本發(fā)明支持異構(gòu)tee間交互的隱私計算,還融入了rsa盲簽名技術(shù),旨在提供匿名性和安全性,這種結(jié)合為節(jié)點間的交互提供了額外的安全層,增強了網(wǎng)絡(luò)通信的安全性和可靠性。不僅確保了安全性,還為異構(gòu)tee間的節(jié)點交互提供了匿名性支持。
2、根據(jù)一些實施例,本發(fā)明采用如下技術(shù)方案:
3、一種具有盲驗證功能的輔助異構(gòu)遠程認證方法,包括以下步驟:
4、異構(gòu)tee平臺向遠程證明代理模塊請求節(jié)點注冊,注冊成功后獲取遠程證明代理模塊生成的ak證書;
5、挑戰(zhàn)方向待認證方發(fā)起遠程驗證請求,請求中包含加密后的隨機字符串nonce值;
6、待認證方先解密出nonce值,生成本地報告,為本地報告和nonce值生成一個盲化消息,對此盲化消息和ak證書生成簽名,將簽名與盲化消息一并發(fā)給遠程證明代理模塊,以此來請求遠程證明代理模塊對本地報告背書并給出遠程證明應(yīng)答消息;
7、遠程驗證代理模塊驗證收到的簽名,確認請求節(jié)點的合法性,根據(jù)tee類型,調(diào)用對應(yīng)的驗證邏輯對收到的本地報告進行驗證,生成認證結(jié)果,用私鑰對盲化消息進行盲簽名,將盲簽名和認證結(jié)果返回給待認證方;
8、待認證方驗證返回的盲簽名,確認消息值與自己擁有的一致后,將收到的盲簽名、認證結(jié)果和本地報告轉(zhuǎn)發(fā)給挑戰(zhàn)方;
9、挑戰(zhàn)方檢查收到的盲簽名、認證結(jié)果和本地報告,并確認nonce值未被篡改,完成認證。
10、作為可選擇的實施方式,各tee平臺借助所述遠程證明代理模塊完成與對端的遠程證明,各個tee平臺不需要兼容其他異構(gòu)tee平臺的認證邏輯。
11、作為可選擇的實施方式,異構(gòu)tee平臺向遠程證明代理模塊請求節(jié)點注冊的過程包括:異構(gòu)tee節(jié)點生成一對用于向遠程驗證代理模塊驗證身份的ak公私鑰以及待交換的共享密鑰;
12、異構(gòu)tee節(jié)點向所述遠程驗證代理模塊提供自身的身份信息、共享密鑰以及ak公鑰;
13、異構(gòu)tee節(jié)點獲取所述遠程驗證代理模塊的根證書、其他節(jié)點的共享密鑰以及用于遠程驗證的ak證書。
14、作為可選擇的實施方式,異構(gòu)tee節(jié)點生成一對用于向遠程驗證代理模塊驗證身份的ak公私鑰以及待交換密鑰的過程包括:第一異構(gòu)tee節(jié)點生成一對于向遠程驗證代理模塊驗證身份的公私鑰對以及用作diffie-hellman(dh)密鑰交換的共享密鑰,第二異構(gòu)tee節(jié)點生成公私鑰對以及共享密鑰,遠程驗證代理模塊生成公私鑰對、盲簽名的公鑰、私鑰d以及根證書,其中,p、q為大素數(shù),g為一個生成元,為小于n?且和n互質(zhì)的正整數(shù)的個數(shù),分別為大整數(shù),n為p、q的積,e為加密質(zhì)數(shù)數(shù)值,e與n互質(zhì),d為解密質(zhì)數(shù)數(shù)值;
15、兩個異構(gòu)tee節(jié)點分別將id信息,ak公鑰以及共享密鑰發(fā)送給遠程驗證代理模塊,請求進行節(jié)點注冊。
16、作為可選擇的實施方式,在節(jié)點注冊過程中,遠程驗證代理模塊收到請求后,根據(jù)ak公鑰生成ak證書與,分別對應(yīng)第一異構(gòu)tee節(jié)點與第二異構(gòu)tee節(jié)點;
17、遠程驗證代理模塊將為第一異構(gòu)tee節(jié)點簽發(fā)的ak證書、其他節(jié)點的共享密鑰、rsa盲簽名的公鑰(n,e)與自己本地的根證書一起發(fā)給第一異構(gòu)tee節(jié)點,將為第二異構(gòu)tee節(jié)點簽發(fā)的ak證書、其他節(jié)點的共享密鑰、rsa盲簽名的公鑰(n,e)與自己本地的根證書一起發(fā)給第二異構(gòu)tee節(jié)點。
18、作為可選擇的實施方式,挑戰(zhàn)方向待認證方發(fā)起遠程驗證請求,請求中包含加密后的隨機字符串nonce值的過程包括:挑戰(zhàn)方生成一個隨機字符串nonce,將nonce用dh密鑰進行加密,得到發(fā)送給待認證方,其中。
19、作為可選擇的實施方式,待認證方用自己計算的密鑰對c進行解密,得到隨機字符串nonce,生成一份符合自己tee節(jié)點類型的本地報告report,利用rsa盲簽名方案對隨機字符串nonce盲化得到盲化消息,其中表示隨機從模n的乘法群中選擇一個元素r,是中所有與n互質(zhì)的元素構(gòu)成的集合,而則表示模n的整數(shù)環(huán),也就是整數(shù)的集合,為哈希函數(shù),使用自己的生成簽名,簽名內(nèi)容包括:、tee類型、以及節(jié)點id信息,構(gòu)建遠程證明請求,包含、tee類型、、、report以及簽名,將請求發(fā)送給遠程驗證代理模塊,以此請求遠程驗證代理模塊對本地報告背書并給出遠程證明應(yīng)答消息。
20、作為可選擇的實施方式,遠程驗證代理模塊根據(jù)tee類型,調(diào)用對應(yīng)的驗證邏輯對收到的本地報告進行驗證,生成認證結(jié)果,用私鑰對盲化消息進行盲簽名的過程包括:遠程驗證代理模塊收到請求后,利用待認證方的公鑰驗證簽名,確認待認證方tee節(jié)點的合法性,然后根據(jù)tee類型,調(diào)用對應(yīng)的驗證接口得到report的認證結(jié)果result,用遠程驗證代理模塊的私鑰privrk、認證結(jié)果result、盲化消息以及report生成一個認證證明attest,再用遠程驗證代理模塊本地存儲的rsa盲簽名私鑰d對盲化消息簽名,得到盲簽名消息,構(gòu)建遠程證明應(yīng)答消息,內(nèi)容包含:attest和,validator將發(fā)送給待認證方tee節(jié)點。
21、作為可選擇的實施方式,待認證方收到遠程證明應(yīng)答消息,使用遠程驗證代理模塊的公鑰pubrk驗證認證證明attest,再調(diào)用去盲化的算法,用盲簽名公鑰(n,e)驗證是否成立,確認消息未被篡改后,將和report轉(zhuǎn)發(fā)給挑戰(zhàn)方;
22、挑戰(zhàn)方從中提取出盲簽名消息,使用遠程驗證代理模塊的公鑰pubrk驗證認證證明attest,確認簽名未被篡改,根據(jù)收到的report和本地存儲的nonce值,驗證和去盲化算法算出的是否一致,驗證通過,完成對待認證方的遠程證明。
23、一種具有盲驗證功能的輔助異構(gòu)遠程認證系統(tǒng),包括:
24、挑戰(zhàn)方tee平臺,用于向待認證方tee平臺發(fā)起遠程驗證請求,請求中包含加密后的隨機字符串nonce值,并檢查收到的盲簽名、認證結(jié)果和本地報告,并確認nonce值未被篡改,完成認證;
25、待認證方tee平臺,用于解密出nonce值,生成本地報告,為本地報告和nonce值生成一個盲化消息,對此盲化消息和ak證書生成簽名,將簽名與盲化消息一并發(fā)給遠程證明代理模塊,以此來請求遠程證明代理模塊對本地報告背書并給出遠程證明應(yīng)答消息;驗證返回的盲簽名,確認消息值與自己擁有的一致后,將收到的盲簽名、認證結(jié)果和本地報告轉(zhuǎn)發(fā)給挑戰(zhàn)方tee平臺;
26、遠程驗證代理模塊,用于驗證收到的簽名,確認請求節(jié)點的合法性,根據(jù)tee類型,調(diào)用對應(yīng)的驗證邏輯對收到的本地報告進行驗證,生成認證結(jié)果,用私鑰對盲化消息進行盲簽名,將盲簽名和認證結(jié)果返回給待認證方。
27、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
28、本發(fā)明提供了一種新型的異構(gòu)tee間遠程證明的方法,基于此設(shè)計,異構(gòu)tee通過先進行節(jié)點注冊再由第三方對其認證的方式實現(xiàn)遠程證明,不僅支持異構(gòu)tee間的無縫協(xié)作,還通過diffie-hellman密鑰交換與盲簽名的手段確保數(shù)據(jù)的安全性和隱私性;本發(fā)明設(shè)計了基于盲簽名的支持異構(gòu)tee間節(jié)點交互的遠程證明方法,能夠更安全的進行不同架構(gòu)間的遠程證明,隱藏隨機字符串nonce值,防止中間人攻擊。為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。