-
數字簽名
鎖定
- 中文名
- 數字簽名
- 外文名
- digital signature;digitally signed
- 別 名
- 公鑰數字簽名
- 用 途
- 鑑別數字信息
- 包含運算
- 兩種互補的運算,一個用於簽名,另一個用於驗證
- 技 術
- 非對稱密鑰加密技術與數字摘要技術
數字簽名原理
簡單地説,所謂數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網絡中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。普通數字簽名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名算法、Des/DSA,橢圓曲線數字簽名算法和有限自動機數字簽名算法等。特殊數字簽名有盲簽名、代理簽名、羣簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。顯然,數字簽名的應用涉及到法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標準(DSS)。
[1]
數字簽名特點
每個人都有一對“鑰匙”(數字身份),其中一個只有她/他本人知道(私鑰),另一個公開的(公鑰)。簽名的時候用私鑰,驗證簽名的時候用公鑰。又因為任何人都可以落款聲稱她/他就是你,因此公鑰必須向接受者信任的人(身份認證機構)來註冊。註冊後身份認證機構給你發一數字證書。對文件簽名後,你把此數字證書連同文件及簽名一起發給接受者,接受者向身份認證機構求證是否真地是用你的密鑰簽發的文件。
[2]
數字簽名鑑權
鑑權的重要性在財務數據上表現得尤為突出。舉個例子,假設一家銀行將指令由它的分行傳輸到它的中央管理系統,指令的格式是(a,b),其中a是賬户的賬號,而b是賬户的現有金額。這時一位遠程客户可以先存入100元,觀察傳輸的結果,然後接二連三的發送格式為(a,b)的指令。這種方法被稱作重放攻擊。
[2]
數字簽名完整性
傳輸數據的雙方都總希望確認消息未在傳輸的過程中被修改。加密使得第三方想要讀取數據十分困難,然而第三方仍然能採取可行的方法在傳輸的過程中修改數據。一個通俗的例子就是同形攻擊:回想一下,還是上面的那家銀行從它的分行向它的中央管理系統發送格式為(a,b)的指令,其中a是賬號,而b是賬户中的金額。一個遠程客户可以先存100元,然後攔截傳輸結果,再傳輸(a,b),這樣他就立刻變成百萬富翁了。
[2]
數字簽名不可抵賴
數字簽名主要功能
網絡的安全,主要是網絡信息安全,需要取相應的安全技術措施,提供適合的安全服務。數字簽名機制作為保障網絡信息安全的手段之一,可以解決偽造、抵賴、冒充和篡改問題。數字簽名的目的之一就是在網絡環境中代替傳統的手工簽字與印章,有着重要作用:
[3]
(3)防篡改(防破壞信息的完整性)。對於傳統的手工簽字,假如要簽署一份200頁的合同,是僅僅在合同末尾簽名呢?還是對每一頁都簽名?如果僅在合同末尾簽名,對方會不會偷換其中的幾頁? 而對於數字簽名,簽名與原有文件已經形成了一個混合的整體數據,不可能被篡改,從而保證了數據的完整性。
[3]
(4)防重放。如在日常生活中,A向B借了錢,同時寫了一張借條給B,當A還錢的候,肯定要向B索回他寫的借條撕毀,不然,恐怕他會再次用借條要求A還錢。在數字簽名中,如果採用了對簽名報文添加流水號、時間戳等技術,可以防止重放攻擊。
[3]
(5)防抵賴。如前所述,數字簽名可以鑑別身份,不可能冒充偽造,那麼,只要保好籤名的報文,就好似保存好了手工簽署的合同文本,也就是保留了證據,簽名者就無法抵賴。那如果接收者確已收到對方的簽名報文,卻抵賴沒有收到呢? 要預防接收者的抵賴。在數字簽名體制中,要求接收者返回一個自己的簽名表示收到的報文,給對方或者第三方或者引入第三方機制。如此操作,雙方均不可抵賴。
[3]
(6)機密性(保密性)。手工簽字的文件(如同文本)是不具備保密性的,文件一旦丟失,其中的信息就極可能泄露。數字簽名可以加密要簽名消息的雜湊值,不具備對消息本身進行加密,當然,如果簽名的報名不要求機密性,也可以不用加密。
[3]
數字簽名技術是將摘要信息用發送者的私鑰加密,與原文一起傳送給接收者。接收者用發送者的公鑰解密被加密的摘要信息,然後用HASH函數對收到的原文產生一個摘要信息
[8]
,與解密的摘要信息對比。如果相同,則説明收到的信息是完整的,在傳輸過程中沒有被修改,否則説明信息被修改過,因此數字簽名能夠驗證信息的完整性。
[4]
數字簽名簽名過程
發送報文時,發送方用一個哈希函數從報文文本中生成報文摘要,然後用發送方的私鑰對這個摘要進行加密,這個加密後的摘要將作為報文的數字簽名和報文一起發送給接收方,接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接着再公鑰來對報文附加的數字簽名進行解密,如果這兩個摘要相同、那麼接收方就能確認該報文是發送方的。
[5]
數字簽名有兩種功效:一是能確定消息確實是由發送方簽名併發出來的,因為別人假冒不了發送方的簽名。二是數字簽名能確定消息的完整性。因為數字簽名的特點是它代表了文件的特徵,文件如果發生改變,數字摘要的值也將發生變化。不同的文件將得到不同的數字摘要。 一次數字簽名涉及到一個哈希函數、接收者的公鑰、發送方的私鑰。
[5]
數字簽名使用方法
你可以對你發出的每一封電子郵件進行數字簽名。這不是指落款,普遍把落款訛誤成簽名。
數字簽名郵件證書
具有數字簽名功能的個人安全郵件證書是用户證書的一種,是指單位用户收發電子郵件時採用證書機制保證安全所必須具備的證書。個人安全電子郵件證書是符合x.509標準的數字安全證書,結合數字證書和S/MIME技術對普通電子郵件做加密和數字簽名處理,確保電子郵件內容的安全性、機密性、發件人身份確認性和不可抵賴性。 具有數字簽名功能的 個人安全郵件證書中包含證書持有人的電子郵件地址、證書持有人的公鑰、頒發者(CA)以及頒發者對該證書的簽名。個人安全郵件證書功能的實現決定於用户使用的郵件系統是否支持相應功能。 MS Outlook 、Outlook Express、Foxmail及CA安全電子郵件系統均支持相應功能。使用個人安全郵件證書可以收發加密和數字簽名郵件,保證電子郵件傳輸中的機密性、完整性和不可否認性,確保電子郵件通信各方身份的真實性。
[6]
數字簽名實現方法
數字簽名算法依靠公鑰加密技術來實現的。在公鑰加密技術裏,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發佈,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。
[7]
2.標記算法;
3.驗證算法。
1.有哈希算法的數字簽名與驗證
哈希函數是一種“壓縮函數”,利用哈希函數可以把任意長度的輸入經由散列函數算法變換成固定長度的輸出,該輸出的哈希值就是消息摘要,也稱數字摘要。在正式的數字簽名中,發送方首先對發送文件採用哈希算法,得到一個固定長度的消息摘要( Message Digest);再用自己的私鑰( Secret key,SK)對消息摘要進行簽名,形成發送方的數字簽名。數字簽名將作為隊件和原文一起發送給接收方;接收方首先用發送方的公鑰對數字簽名進行解密得到發送方的數字摘要,然後用相同的哈希函數對原文進行哈希計算,得到一個新的消息摘要,最後將消息摘要與收到的消息摘要做比較。具體過程如圖1所示。
[7]
2.基於非對稱密鑰加密體制的數字簽名與驗證
發送方首先將原文用自己的私鑰加密得到數字簽名,然後將原文和數字簽名一起發送給接收方。接收方用發送方的公鑰對數字簽名進行解密,最後與原文進行比較,如圖2所示數字簽名是電子商務、電子政務中應用普遍、技術成熟、可操作性強的一種電子簽名方法。它採用了規範化的程序和科學化的方法,用於鑑定簽名人的身份以及對一項電子數據內容的認可。使用數字簽名技術能夠驗證文件的原文在傳輸過程中有無變動,確保傳輸電子文件的完整性、真實性和不可抵賴性。
[7]
數字簽名簽名步驟
數字簽名Java簽名步驟
jarsigner 錯誤: java.lang.RuntimeException: 密鑰庫裝入: C:\Documents and Settings\ij2ee\.keystore (系統找不到指定的文件。). (這邊的ij2ee 是當前系統用户名)
[7]
- 輸入keystore密碼:
- 再次輸入新密碼:
- 您的名字與姓氏是什麼?
- [Unknown]: ij2ee
- 您的組織單位名稱是什麼?
- [Unknown]: mtk
- 您的組織名稱是什麼?
- [Unknown]: mtk
- 您所在的城市或區域名稱是什麼?
- [Unknown]: suzhou
- 您所在的州或省份名稱是什麼?
- [Unknown]: jiangsu
- 該單位的兩字母國家代碼是什麼
- [Unknown]: cn
- CN=ij2ee, OU=mtk, O=mtk, L=suzhou, ST=jiangsu, C=cn 正確嗎?
- [否]: y
- 輸入的主密碼
- (如果和 keystore密碼相同,按回車):
keytool -genkey -alias peakCA -keyalg RSA -keysize 1024 -keystore peakCALib -validity 3650
keytool -export -alias peakCA -file peakCA.cer -keystore peakCALib -storepass ****** -rfc
jarsigner -keystore peakCALib myapplet.jar peakCA
數字簽名office簽名步驟
數字簽名應用例子
數字簽名區分攻擊
正常EXE的數字簽名詳細信息。
數字簽名異常結果
C:\Documents and Settings\litiejun\??\modify.exe:
Verified: Unsigned
File date: 15:46 2008-5-23
Publisher: n/a
Description: n/a
Product: n/a
Version: n/a
File version: n/a
數字簽名正常結果
C:\Documents and Settings\litiejun\??\che.exe:
Verified: Signed
Signing date: 16:28 2008-4-29
Publisher: n/a
Description: n/a
Product: n/a
Version: n/a
File version: n/a
數字簽名網絡安全
- 參考資料
-
- 1. 劉建華主編;孫韓林副主編.物聯網安全:中國鐵道出版社,2013.09:第68頁
- 2. 洪傑文,歸偉夏.新媒體技術:西南師範大學出版社,2016.06:第240頁
- 3. 於旭,梅文.物聯網信息安全:西安電子科技大學出版社,2014.01:第94頁
- 4. 王法能,劉虎峯主編;趙建東,李麗,齊文彬,丁玉龍,甘卉,楊慧敏副主編.計算機公共基礎(WINDOWS 7+OFFICE 2010):北京理工大學出版社,2014.08:第222頁
- 5. 何明,湯偉,賴俊,張婷婷等.大學計算機基礎:東南大學出版社,2015.08:第180頁
- 6. 劉冬梅,遲學芝.網絡信息安全:中國石油大學出版社,2013.07:第128頁
- 7. 張向暉.司法機關錄音錄像工作指南:中國檢察出版社,2016.05:第231頁
- 8. 陳剛. 淺談電子商務網絡信息安全問題[J]. 雲南農業,2011(6). DOI:10.3969/j.issn.1005-1627.2011.06.036.
- 9. 國家安全部:這種“特殊”網絡技術服務涉嫌違法 .界面新聞.2023-11-27[引用日期2023-11-27]
- 10. 印媒:防AI造假,尼康、索尼等相機巨頭擬推“數字簽名”新技術 .環球時報.2024-01-04[引用日期2024-01-04]