密碼學 - PKCS#11 Key Agreement
PKCS#11 是一套由 RSA Laboratories 發布的標準化密碼學權杖介面(Cryptographic Token Interface Standard),現由 OASIS 組織維護。它旨在提供一個通用的應用程式介面(API),讓軟體應用程式能夠與各種密碼學硬體(如硬體安全模組 HSM、智慧卡)進行互動,而無需關心底層硬體的實作細節。
在眾多功能中,金鑰協議(Key Agreement)是一個核心的安全操作,它允許多個參與方基於各自的私鑰與對方的公鑰,在不安全的通道上安全地協商並產生一個共享的秘密金鑰。這個共享金鑰後續可用於對稱加密、訊息驗證碼(MAC)的產生等操作。
本文將探討 PKCS#11 中的金鑰協議機制,特別是如何使用 C_DeriveKey 函式來實現金鑰派生,以及相關的機制參數設定。