密碼簽名如何以某種方式與物理簽名相關聯?
幾天前,我被要求通過DocuSign和 SignEasy 簽署線上文件,任何簽名都被通過電子郵件或應用程序發送的物理簽名接受。他們甚至沒有要求我生成一個私鑰,我應該將其公鑰上傳到他們的網站。所以,我覺得這個過程相當假和膚淺;它只是滿足天真的使用者。但是這些應用程序在各地都很有名。
所以,我覺得我認為我在某個地方錯過了一些東西。您能否解釋一下這些應用程序中的物理簽名如何與加密數字簽名相關聯?
簡短的回答是您的物理簽名和任何加密簽名之間沒有聯繫。事實上,從對DocuSign 工作原理及其安全宣言的高級描述來看,沒有理由相信任何加密技術都會進入簽名過程本身。
請注意,“簽名”是一個重載詞。在這篇文章中,我將提到三個可以稱為“簽名”的不同概念:
- 你的親筆簽名——在紙上潦草。
- 一種加密簽名,它在數學上驗證消息已由密鑰所有者驗證。(這裡實際上有兩個含義:從密鑰和裸消息生成簽名消息的過程,以及對簽名消息中的真實性資訊進行編碼的字節。但是這種區別在這裡並不重要。)
- 驗證斷言:消息已被某一方批准的聲明。
物理簽名起著雙重作用。
- 它們通常被用作身份驗證因素,因為據說它們很難複製。但作為一個身份驗證因素,它們非常糟糕:不僅它們不難以欺騙大多數人的方式複制,而且主要是因為在大多數情況下,它們可以很容易地被複製並移植到不同的文件中。使用掃描簽名,將其移植到任何文件上都是微不足道的。
- 物理簽名也用作驗證斷言。簽署法律文件即表示您同意遵守該文件。從歷史上看,這就是它們被用於契約的原因——即使是那些無法閱讀的人,也會將契約讀給他們聽,然後在底部打個叉表示他們接受了契約。
將您的物理簽名上傳到 DocuSign 的伺服器不提供任何安全性。任何人都可以找到您簽名的文件並上傳您的簽名。它所做的部分是為了提供一種安全的假象(我們需要展示可見的安全措施,所以讓我們做一些可見的事情並說這是為了安全),部分是為了增加一點摩擦和儀式,這樣你以後就不能聲稱“哦,我一定是誤點擊了,我對此一無所知”。因為您的簽名對您來說是個人的,所以您不能聲稱它是錯誤上傳的——它必須是您或有欺詐意圖的人。
無論有沒有您的簽名,DocuSign 都可以證明:
- 有人有權訪問附有您的姓名和其他個人資訊的帳戶。希望他們驗證此人有權(或至少有權)訪問附加到 DocuSign 帳戶的電子郵件帳戶。
- 該人有意識地決定在特定時間驗證特定文件。
到目前為止,仍然沒有加密,除了使用 TLS 與他們的伺服器通信的瑣碎(在工程方面)方面。
密碼學可以帶來什麼?在這一點上,什麼都沒有,真的。DocuSign 很可能會生成特定於您帳戶的加密密鑰,並生成使用您的密鑰加密簽名的文件版本。這將代表您對文件進行驗證斷言。不過,他們不需要密碼學:他們可以在他們的伺服器上放置一個網頁,上面寫著“Rahul 批准了這個文件”,它也可以起到同樣的作用。
密碼學增加了一些東西,即密碼簽名在任何情況下都保持有效。僅當您在 DocuSign 的網站上訪問時,“Rahul 批准此文件”的網頁才有用,因為任何人都可以在自己的網站上寫下它,而且它沒有任何重要性。另一方面,除了私鑰的持有者之外,沒有人可以生成加密簽名的文件,因此可以離線驗證該文件的真實性。
為此,DocuSign 擁有一個密鑰並使用它來簽署所有文件就足夠了。這種方法的缺點是,如果密鑰曾被洩露或以未經授權的方式使用,則會對 DocuSign 的所有驗證斷言產生懷疑。每個使用者使用單獨的密鑰允許單獨拒絕密鑰。例如,如果您的帳戶因有人劫持您的瀏覽器而遭到破壞,您可以安排在違規後拒絕使用您的密鑰進行的簽名,這比拒絕所有 DocuSign 客戶的簽名造成的破壞要小得多。
如果 DocuSign 確實使用了加密簽名,則它不是驗證斷言安全性的一部分,除了 DocuSign 伺服器上您的帳戶資訊的完整性之外,沒有任何東西將它與您的物理簽名聯繫起來。這與保證您(通過您的帳戶,特別是通過您的帳戶憑據)與代表您的驗證斷言之間的關係相同的事情。
您會注意到,DocuSign 的安全頁麵包含大量炒作、關於加密的斷言(這對於提高數據機密性以防備份被盜確實有意義)以及關於物理安全的斷言(這也是有意義的,因為違反了他們的伺服器會危及系統)和可用性,以及關於遵循
宗教監管程序的斷言。沒有什麼堅定的簽約。只要簽名密鑰在 DocuSign 的伺服器上,密碼學的優勢就是使驗證斷言更易於使用,而不是使它們更難偽造(即沒有增加安全性)。如果簽名密鑰僅保存在您的客戶端上怎麼辦?這會降低您對 DocuSign 的信任,因為他們無法像您一樣生成任意簽名。您仍然需要擔心客戶端環境的安全性。這也有實際的缺點,因為人們使用多台客戶端機器,不備份它們等。DocuSign 的方法不需要使用者的技術能力,也不需要在客戶端進行設置。有足夠技術來管理簽名密鑰的人可能已經在使用 PGP。