數字簽名是一種確保資料完整性和原始性的方法。數字簽名可以提供有力的證據,表明自從資料被簽名以來資料尚未發生更改,並且它可以確認對資料簽名的人或實體的身份。數字簽名實現了「完整性」和「認可性」這兩項重要的安全功能,而這是實施安全電子商務的基本要求。
當資料以明文或未加密形式分發時,通常使用數字簽名。在這種情況下,由於訊息本身的敏感性無法保證加密,因此必須確保資料仍然保持其原來的格式,並且不是由冒名者傳送的。因為在分布式計算環境中,網路上具有適當訪問權的任何人,無論是否被授權都可以很容易讀取或改變明文文字。
數字簽名主要是為了證明發件人身份,就像我們來看到的某檔案簽名一樣。但現在要說的簽名是採取電子數字簽名的方式。這種簽名還可以防止別人仿籤,因為經過加密過的簽名會變得面目全非,別人根本不可能看到真正的簽名樣子。在第9.5.2節介紹了在檔案傳輸和郵件傳送中利用檔案加密方式來阻止非法使用者開啟的原理,其實僅用了檔案加密方式還不足以保證郵件傳輸的真正安全,因為郵件內容還可能被非法使用者替換,儘管這些非法使用者不能檢視原郵件中的真正內容。這就涉及到如何確保自己收到的郵件就是自己希望的使用者發來的問題了,此時就需要用到數字簽名技術。但是在郵件傳輸中,通常又不是單獨使用檔案加密或者數字簽名,而是一起結合起來使用,它們兩者一起作用就可取到非常好的安全保護了。下面仍以第9.5.2節例項為例進行介紹,不同的只是在此封郵件傳送中同時採用了檔案加密和數字簽名,實施雙重保護。具體步驟如下。 n
alice與bob互換公鑰。 n
alice用自己的私鑰對txt檔案進行數字簽名。 n
alice用bob的公鑰對txt檔案進行加密。 n
alice把經過數字簽名和加密的檔案txt,通過郵件或其他傳輸途徑,如qq、msn等)傳給bob。 n
bob在收到簽名並加密的郵件後首先用bob自己的私鑰進行檔案加密的解密,然後再用alice的公鑰進行數字簽名解密。
同樣,在這個過程中cinda也可以獲取bob、alice的公鑰和簽名並加密的標書檔案txt。同時因無bob的私鑰而無法開啟郵件。同時由於alice在傳送檔案前已用自己的私鑰進行了數字簽名,所以當bob在收到郵件後完全可以證實自己收到的就是alice發來的郵件,而不可能是其他使用者的。試想如果cinda非法使用者想要改變郵件,冒充alice向bob傳送郵件,因cinda沒有alice的私鑰,所以在用其他使用者的私鑰進行數字簽名時就不可能再以alice的公鑰來解密數字簽名了。
在這裡要注意檔案加密和數字簽名的先後順序,一定是先簽名再加密,這樣加密技術就可以同時保證郵件中的數字簽名了。如果先加密,而後簽名,非法使用者在得到郵件後就可通過獲取的公鑰破解數字簽名了,因為公鑰是可以公開的,很容易被一些別有用心的人得到。數字簽名破解後很可能簽名被替換。當然郵件中的內容在沒有收件人私鑰的情況下還是無法開啟的。
以上介紹的是利用公鑰和私鑰進行檔案加密和數字簽名的原理,其實在實際應用中,這些公鑰和私鑰使用者是不用具體關心它們的組成,而是由證書頒發機構或者軟體自己生成。就拿公鑰來說吧,那麼長的**,看起來都怕,而且隨著金鑰位置的增加,**長度也隨之增加,當然破解難度也將增加,也就越安全。但在一定程度上對使用有一些影響。
茶鄉浪子
數字簽名原理
數字簽名是一種確保資料完整性和原始性的方法。數字簽名可以提供有力的證據,表明自從資料被簽名以來資料尚未發生更改,並且它可以確認對資料簽名的人或實體的身份。數字簽名實現了 完整性 和 認可性 這兩項重要的安全功能,而這是實施安全電子商務的基本要求。當資料以明文或未加密形式分發時,通常使用數字簽名。在這...
數字簽名 原理
2.簽名的生成和驗證 3.數字簽名的方法 4.數字簽名無法解決的問題 數字簽名 訊息到底是誰寫的 數字簽名是一種將相當於現實世界中的蓋章 簽字的功能在計算機世界中進行實現的技術。使用數字簽名可以識別篡改和偽裝,還可以防止否認。通過上篇中介紹的訊息認證碼,可以識別訊息是否被篡改或者傳送者身份是否被偽裝...
數字簽名原理
數字簽名是一種確保資料完整性和原始性的方法。數字簽名可以提供有力的證據,表明自從資料被簽名以來資料尚未發生更改,並且它可以確認對資料簽名的人或實體的身份。數字簽名實現了 完整性 和 認可性 這兩項重要的安全功能,而這是實施安全電子商務的基本要求。當資料以明文或未加密形式分發時,通常使用數字簽名。在這...