Rsa

代表使用者簽署消息的服務的設計問題

  • August 9, 2012

我正在開發一種消息傳遞服務,該服務允許使用者編寫消息並使用 RSA 密鑰對其進行簽名。密鑰僅用於身份辨識,可以撤銷,因此洩露私鑰很煩人,但不會暴露專有資訊。

儘管如此,為了讓服務代表使用者進行簽名,該使用者必須提供密鑰的密碼(甚至是密鑰和密碼)並在每次簽名時通過網路傳輸,或者密鑰由服務儲存沒有使用者的密碼。

在任何一種情況下,服務本身都必須是可信的,因為在某些時候他們將能夠以不受保護的形式訪問密鑰。

所以問題是,什麼是更好的設計(除了“不要這樣做”):要求每個簽名事件的密碼,或者依靠服務來儲存沒有原始密碼的密鑰並要求他們確保安全保存(使用他們自己的密碼,否則加密,等等)。還是有第三種方法可以讓服務代表使用者簽名而不暴露私鑰?

**澄清:**這個想法是使用者保持其身份的可移植性,即他們可以使用他們的密鑰自己簽署和發布消息,或者將密鑰提供給他們選擇的新創作服務,即密鑰跟隨使用者,而不是服務。

儲存加密的密鑰。將加密的密鑰發送給使用者,讓他們解密並簽署消息。無論您對此計劃有什麼反對意見,它們很可能要麼被誤導,要麼可以通過實施該計劃來解決。

引用自:https://crypto.stackexchange.com/questions/3493