2011-06-29 17 views
3

我正處於開源信用結算系統的規劃階段,我的想法是使用GPG密鑰簽署IOU。但是我擔心,如果鮑勃簽署了欠條,他會通過電子郵件發送給Alice,然後刪除他的密鑰,創建一個新的密鑰對並將他的新密鑰上傳到密鑰服務器,他將能夠合理地否認IOU的所有權。是否有一些程序化的方式證明曾經屬於發送簽名電子郵件的電子郵件帳戶的所有者的密鑰?我的google-fu在這一個上失敗了。如何證明某人之前的公鑰真的是他們的?

更新:「non-repudiation」是我正在尋找的詞。仍在研究...

+1

您需要分離身份和安全的概念。沒有一個用戶應該能夠聲明自己的身份,沒有同行承認他們是這樣的。您可能想研究BitCoin架構,它非常強大。 – Perception

+0

謝謝,我用BitCoin做了一個嘗試,但對我來說太複雜了。對等確認可以由系統的其他用戶簽署Bob的公鑰,對嗎?但是這仍然不會阻止他刪除它嗎? –

+0

這也發生在「現實世界」。這裏只是稍微複雜一點;-)因此,如果沒有建立某種形式的可靠信任和*確保問責制的方法,就沒有辦法[完全]防止這個問題。 – 2011-06-29 20:29:03

回答

1

大多數情況下,使用加密時間戳實現不可否認性。時間戳是在特定時間文檔存在的證據,由可信賴的第三方發佈,並簽署文檔散列以及提交文檔的時間。

我不太瞭解GPG模型,但可能存在類似於將公鑰與關鍵所有者標識綁定在一起的證書。你必須給這個證書加上時間戳。其實你也應該給一個證明鮑勃的鑰匙沒有被撤銷的證明。在X.509中,這是通過對當前撤銷列表進行時間戳記來實現的,該列表證明了「未撤銷」狀態是關鍵。

加密時間戳標準化在RFC 3161

更多全球你指出的諸多問題和先進的數碼電子簽名複雜性之一:不可否認,長期驗證,簽名承諾規則.. 。這是AdES標準的主要目標(CAdES,XAdESPAdES

+0

如果需要,我可以使用X509。我仍然不完全理解這一點,但這很可能是我所期待的。感謝您的答案和鏈接。 –

相關問題