目錄
數字簽名
1.簽名的生成和驗證
2.公鑰密碼與數字簽名
1)公鑰密碼
2)數字簽名
數字簽名的方法
1)直接對訊息簽名的方法
2)對訊息的雜湊值簽名的方法
注意:數字簽名的應用:
1)安全資訊公告
3)公鑰證書
4)ssl/tsl
數字簽名的演算法
對數字簽名的攻擊:
訊息認證碼與數字簽名對比
數字簽名無法解決的問題:
之前提到過由於訊息認證碼無法防止否認。之所以無法否認,是因為收發雙方共享乙個金鑰;由於金鑰共享,所以能計算出正確mac值的不只有傳送者,接收者也可以計算出,對於第三方而言,無法判斷出訊息的出處。因此需要使用數字簽名
數字簽名(又稱公鑰數字簽名、電子簽章等)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑑別數字資訊的方法。
1)生成訊息簽名:該行為由傳送者來完成,生成簽名就是根據訊息內容計算數字簽名的值,隱含」簽名人認可訊息內容「
2)生成數字簽名:該行為由接收者來完成,也可能由驗證的第三方來完成,驗證簽名就是檢查訊息是否真的來自傳送方
一套數字簽名通常定義兩種互補的運算,乙個用於簽名,另乙個用於驗證;傳送方使用簽名金鑰來生成訊息的簽名;接收方(第三方)使用驗證金鑰來驗證訊息的簽名
注:簽名金鑰只能簽名人持有,而驗證金鑰是需要驗證的人都可以持有公鑰密碼包括有公鑰和私鑰組成的密碼對,公鑰用於加密,私鑰用於解密
同公鑰密碼一樣,數字簽名也使用公鑰和私鑰組成的金鑰對,但其用法與公鑰密碼相反;私鑰加密相當於生成簽名,公鑰解密相當於驗證簽名
所以說,在公鑰密碼中,人人都可以使用公鑰進行加密;在數字簽名中,人人都可以使用驗證金鑰來驗證簽名
1.傳送者使用自己的金鑰對訊息進行加密(只有傳送者才能持有,除傳送者外,其他人是無法生成相同簽名的)
2.將簽名和訊息傳送給接收方
3.接收方使用公鑰對簽名進行解密
4.傳送方將解密的訊息與傳送方傳送的訊息進行比對
1.傳送方使用單向雜湊函式計算訊息雜湊值
2.傳送方使用私鑰對雜湊值進行加密
3.將訊息和簽名傳送給接收方
4.接收方使用公鑰對簽名進行解密
5.接收方將解密後的雜湊值與傳送方發過來的雜湊值進行對比
1)數字簽名使用私鑰進行加密來產生認證符號
2)數字簽名並不用於保證機密性
3)簽名所代表的是簽名人對該訊息進行的簽名,複製簽名不會改變簽名者和訊息的內容
4)在簽名之後對訊息進行修改是毫無意義的,數字簽名的作用為識別修改
5)數字簽名會根據訊息內容的改變而改變,所以簽名是不會重複使用的
6)想要使乙份數字簽名作廢,需要再建立乙份宣告該簽名已作廢並附上數字簽名的文書
7)在數字簽名中,能生成簽名的只有傳送者,能驗證簽名的只有接收者;因此可以防止否認
此類訊息是為了讓更多人知道,因此沒有加密的必要,只用在訊息中加上數字簽名(對明文施加的簽名稱為明文簽名)
將公鑰當作資訊,對其加上數字簽名
在認證伺服器身份是與否合法時所使用的伺服器證書(加上簽名的伺服器公鑰)
1)rsa
2)eigamel
3)dsa
4)rabin
1)中間人攻擊
2)對單向雜湊函式進行攻擊
3)利用數字簽名攻擊公鑰密碼
4)其他攻擊
驗證簽名的公鑰必須屬於真正的傳送者,為了確認自己得到的公鑰是否合法,我們需要證書(將公鑰當成一條訊息,由可信任的第三方對其簽名後得到的公鑰)
認證技術與數字簽名
一 認證技術 三種 1 基於共享金鑰認證 通訊雙方有乙個共享的金鑰,通訊基於雙方的信任中心,金鑰分發中心 kdc 通訊前一方a向kdc傳送訊息 訊息中包括乙個共享金鑰,還有帶有a的標誌 訊息為ka的公鑰加密,kdc收到後用a的私鑰解密,kdc再用kb的公鑰加密,傳送給另一方b,b收到以後用自己的私鑰...
概念 數字簽名 傳統簽名和認證
什麼是數字簽名,和傳統的簽名有什麼不同。數字簽名和認證有什麼不同。1.概念 1 數字簽名,是只有資訊的傳送者才能產生的別人無法偽造的一段數字串。這段字串同時也是對傳送者傳送的資訊真實性的乙個有效證明。2 數字簽名是對非對稱金鑰加密技術和數字摘要技術的應用。作用 保證資訊傳輸的完整性,對傳送者進行身份...
公鑰加密 數字簽名 訊息認證
一 網路是開放的,在上面要傳送一段內容,隨時可能被其他人攔截看到,因此需要加密。最初想到的是對稱加密,可以通過同乙個金鑰加密,也可以通過同乙個金鑰解密。比如加密字串,加密時每個字元ascii碼同時加2,解密時ascii同時減2,在這裡金鑰就是2,而ascii的操作稱作加密解密演算法,加密前的字串稱為...