簡體   English   中英

為什么我們在 DH 安全 session 建立中需要發起者或響應者的飛地身份?

[英]Why we need the enclave identity of initiator or responder in DH secure session establishment?

我正在使用 sgx_dh API 開發一個 sgx 應用程序。 工作流程可以總結如下(這里的兩個角色分別是dh_initiator,簡稱dh_i,以及dh_responder,即dh_r。):

step0:在dh_i和dh_r端啟動session;

step1:dh_r生成包含g_a的msg1並將msg1發送給dh_i;

step2:dh_i處理msg1,生成包含g_b的msg2,並將msg2發送給dh_r;

step3:dh_r處理msg2並生成msg3,包括對共享密鑰的確認,然后將msg3發送給dh_i;

step4:dh_i 處理 msg3。 DH 密鑰交換完成。

在step3中,dh_r將output一個sgx_dh_session_enclave_identity_t type的變量,以便dh_i在step4中輸出一個相同類型的變量。 根據 SGX Developer Reference,這兩個變量用於 dh session 建立。

但我無法弄清楚它們將在哪里使用,因為它們是在密鑰交換和飛地身份驗證完成時生成的。

任何建議或提示表示贊賞,如果在這里有任何誤解,請糾正我。 非常感謝~

提供這兩個變量是為了明確您應該驗證的值,以確保您與正確的 enclave 進行通信(您可以檢查它們在 LocalAttestation 示例中的使用方式: https://github.com/intel/linux-sgx/blob /62b116c502b09b125db9acc965694d3ecff8e698/SampleCode/LocalAttestation/EnclaveInitiator/EnclaveMessageExchange.cpp#L133-L144 )。

它們不會在這里傳遞給 sdk 提供的 dh 交換協議的其他功能,您應該“手動”處理它們並定義自己的接受策略,然后再依賴建立的安全通道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM