數字簽名原理
以下內容摘自筆者編著的《網管員必讀——網路安全》(第2版)。
9.5.3 數字簽名原理
數字簽名是一種確保資料完整性和原始性的方法。數字簽名可以提供有力的證據,表明自從資料被簽名以來資料尚未發生更改,並且它可以確認對資料簽名的人或實體的身份。數字簽名實現了“完整性”和“認可性”這兩項重要的安全功能,而這是實施安全電子商務的基本要求。
當資料以明文或未加密形式分發時,通常使用數字簽名。在這種情況下,由於訊息本身的敏感性無法保證加密,因此必須確保資料仍然保持其原來的格式,並且不是由冒名者傳送的。因為在分散式計算環境中,網路上具有適當訪問權的任何人,無論是否被授權都可以很容易讀取或改變明文文字。
數字簽名主要是為了證明發件人身份,就像我們來看到的某檔案簽名一樣。但現在要說的簽名是採取電子數字簽名的方式。這種簽名還可以防止別人仿籤,因為經過加密過的簽名會變得面目全非,別人根本不可能看到真正的簽名樣子。在第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的公鑰來解密數字簽名了。
|
在這裡要注意檔案加密和數字簽名的先後順序,一定是先簽名再加密,這樣加密技術就可以同時保證郵件中的數字簽名了。如果先加密,而後簽名,非法使用者在得到郵件後就可通過獲取的公鑰破解數字簽名了,因為公鑰是可以公開的,很容易被一些別有用心的人得到。數字簽名破解後很可能簽名被替換。當然郵件中的內容在沒有收件人私鑰的情況下還是無法開啟的。
|
以上介紹的是利用公鑰和私鑰進行檔案加密和數字簽名的原理,其實在實際應用中,這些公鑰和私鑰使用者是不用具體關心它們的組成,而是由證書頒發機構或者軟體自己生成。就拿公鑰來說吧,那麼長的程式碼,看起來都怕,而且隨著金鑰位置的增加,程式碼長度也隨之增加,當然破解難度也將增加,也就越安全。但在一定程度上對使用有一些影響。
本文轉自王達部落格51CTO部落格,原文連結http://blog.51cto.com/winda/36962如需轉載請自行聯絡原作者
茶鄉浪子
相關文章
- Elgamal數字簽名原理GAM
- 數字簽名的原理和應用
- 數字簽名
- 大話數字簽名
- 加密與數字簽名加密
- 數字簽名(java) (轉)Java
- 數字簽名是什麼?
- applet數字簽名APP
- 給軟體數字簽名
- win10 如何禁用數字簽名 win10 關閉數字簽名方法Win10
- 文件數字簽名工作原理是什麼?文件簽名有什麼好處?哪些行業使用文件簽名證書?行業
- win10 禁止驗證數字簽名方法 win10 如何禁用數字簽名Win10
- 加減密和數字簽名
- 安全基礎:數字信封、數字簽名、數字證書(加簽驗籤,加密解密)加密解密
- 如何關閉win10的數字簽名_win10禁用數字簽名的方法Win10
- 從數字簽名的工作原理看電子商務安全(轉)
- ActiveX控制元件數字簽名實踐(免費簽名)控制元件
- Java 操作PPT數字簽名(一):新增、檢測、刪除簽名Java
- Java 新增數字簽名到Excel以及檢測、刪除簽名JavaExcel
- win10如何永久禁用數字簽名_win10怎麼關閉禁用數字簽名Win10
- Android 安全加密:數字簽名和數字證書Android加密
- Android安全加密:數字簽名和數字證書Android加密
- Java 新增、驗證PDF 數字簽名Java
- 支付寶介面的數字簽名
- windows10怎麼關閉數字簽名 win10永久關閉數字簽名的方法WindowsWin10
- 深入理解加密、解密、數字簽名和數字證書加密解密
- IOS App簽名原理iOSAPP
- iOS逆向——應用簽名及重簽名原理iOS
- exe軟體如何進行數字簽名
- 效能:驗證數字簽名導致卡死
- 用C++Builder建立數字簽名 (轉)C++UI
- Window 7 驅動數字簽名解決方案
- Java 獲取PDF數字簽名證照資訊Java
- 詳解數字簽名的含義及作用
- java使用RSA加密方式,實現數字簽名Java加密
- 公鑰加密、數字簽名、訊息認證加密
- 取消WindowsXP下驅動程式數字簽名(轉)Windows
- RSA加密解密及數字簽名Java實現加密解密Java