若該文爲原創文章,未經允許不得轉載
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客導航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/104378208
目錄
數字證書開發筆記
開發筆記之數字證書(一):數字證書介紹
前話
開發windows軟件,對於數字證書是否會被360等一些殺毒防禦軟件殺掉進行研究,同時介紹、熟悉以及當前數字證書行情(主要是軟件端的代碼簽名證書)。
數字證書籤名基本問題
什麼是代碼簽名證書?
隨着互聯網上活躍的內容越來越多,最終用戶需要有一種方法來驗證可下載網絡內容的合法性。
代碼簽名是一種置於軟件和其他可執行文件和腳本中的數字簽名。代碼簽名可以提供軟件作者的身份,並驗證軟件自最初分發以來未經過篡改。
代碼簽名不會更改軟件,它只是爲您的最終用戶提供額外一層可信度。
如果從商店購買軟件,很容易就可以知道軟件的發佈者,並可以瞭解軟件包是否被篡改。不幸的是,如果在線購買軟件,這些因素則不明顯。因此,當在互聯網上下載 Java 小程序、插件、Microsoft® ActiveX® 控件和其他可執行文件時,最終用戶會承擔一定的風險。
代碼簽名證書有助於獲得與客戶在商店中購買時相同的信任級別。
利用數字簽名提高您的軟件安全性。利用 GoDaddy 代碼簽名證書驗證代碼的來源和完整性,以提升用戶信心。
哪些人需要代碼簽名證書?
網絡安全警惕意識空前高漲。除非您能證明軟件的合法性,否則大部分網絡用戶都不會下載。代碼簽名證書可以激發客戶的信心,並提供您驗證代碼所需的證明。
軟件開發人員可以使用代碼簽名證書爲客戶提供額外的保證,讓他們知道內容的生產商並且保證沒有被篡改。簽名的代碼還可以防止代碼
在分發前被身份不明的第三方篡改。
內容發佈者可以對軟件組件、宏、固件映像、病毒更新、配置文件或者其他類型的內容進行數字簽名,來確保通過互聯網或其他機制進行安全交付。
當指定代碼片段(例如 Active X 控件、Java 小程序以及其他活動的網絡腳本代碼)的源碼可能不明顯時,代碼簽名尤其重要。
大多數網絡用戶都瞭解通過互聯網下載內容涉及的潛在風險。重要的是,您的最終用戶可以信任您在互聯網上發佈的代碼。代碼簽名證書
有助於客戶確認軟件的安全性與保障。
代碼簽名如何運作?
較新的操作系統和互聯網瀏覽器通常設置爲較高的網絡安全級別,因此往往需要簽名內容。例如,Internet Explorer® 利用
Authenticode® 技術來識別簽名軟件的發佈者並確認它沒有被篡改。
當從某網站下載代碼簽名文件時,可以從文件中提取證書。瀏覽器通過證書頒發機構的內部列表反覆檢查此信息,然後驗證證書中的簽名。
一旦簽名軟件以任何方式被他人篡改,數字簽名將會被破壞,並向客戶發出警告:代碼已被修改,不再值得信任。
別人如何知道我的簽名是可信的呢?
當有人試圖下載或運行未簽名的代碼時,其瀏覽器會嘗試驗證已下載內容的安全性。彈出安全警告或無法加載網頁內容,具體取決於瀏覽器的安全設置。這些警告讓用戶產生懷疑和困惑。
當最終用戶希望運行簽名的應用程序或可執行文件時,電子簽名代碼會防止出現不必要的警告對話框。
購買代碼簽名證書之後,我需要做什麼?
購買代碼簽名證書之後,您需要通過爲代碼提供簽名的計算機提供證書籤名申請 (CSR)。根據證書的使用情況,您可以自動創建 CSR,或者可以使用 OpenSSL 之類的工具生成 CSR。
提交您的申請後,我們會確認您所提供的公司信息。如果需要,註冊局 (RA) 可能會聯繫您,要求您提供附加信息。您可以通過您的賬戶監視驗證過程的進展。
代碼簽名證書一旦簽發後,我們會給您發送一封電子郵件,其中包括一個鏈接,可以單擊此鏈接下載並安裝證書文件和任何相關的中間證書。您甚至可以在代碼簽名時於簽名處加上時間戳,使用 Authenticode 顯示證書的有效性。
數字證書(數字簽名)
概述
數字證書(又稱數字標識)是指在互聯網通訊中標誌通訊各方身份信息的一個數字認證,人們可以在網上用它來識別對方的身份。
數字證書對網絡用戶在計算機網絡交流中的信息和數據等以加密或解密的形式保證了信息和數據的完整性和安全性。
數字證書這一名詞並非是我國原有,而是來自於英文digital certificate的翻譯。數字證書從本質上來說是一種電子文檔,是由電子商務認證中心(以下簡稱爲CA中心)所頒發的一種較爲權威與公正的證書,對電子商務活動有重要影響,例如我們在各種電子商務平臺進行購物消費時,必須要在電腦上安裝數字證書來確保資金的安全性。
CA中心採用的是以數字加密技術爲核心的數字證書認證技術,通過數字證書,CA中心可以對互聯網上所傳輸的各種信息進行加密、解密、數字簽名與簽名認證等各種處理,同時也能保障在數字傳輸的過程中不被不法分子所侵入,或者即使受到侵入也無法查看其中的內容。
如果用戶在電子商務的活動過程中安裝了數字證書,那麼即使其賬戶或者密碼等個人信息被盜取,其賬戶中的信息與資金安全仍然能得到有效的保障。數字證書就相當於社會中的身份證,用戶在進行電子商務活動時可以通過數字證書來證明自己的身份,並識別對方的身份,在數字證書的應用過程中CA中心具有關鍵性的作用,作爲第三方機構,必須要保證其具有一定的權威性與公平性。
當前階段認證現狀
當前階段國內的CA中心的從業資格是由國家工業與信息化部所頒發,全國範圍內只有約30家企業具有數字認證的從業資格。
原理
數字證書的基本架構是公開密鑰PKI,即利用一對密鑰實施加密和解密。其中密鑰包括私鑰和公鑰,私鑰主要用於簽名和解密,由用戶自定義,只有用戶自己知道;公鑰用於簽名驗證和加密,可被多個用戶共享。
數字證書的基本工作原理主要體現在:
- 發送方在發送信息前,需先與接收方聯繫,同時利用公鑰加密信息,信息在進行傳輸的過程當中一直是處於密文狀態,包括接收方接收後也是加密的,確保了信息傳輸的單一性,若信息被竊取或截取,也必須利用接收方的私鑰纔可解讀數據,而無法更改數據,這也有利保障信息的完整性和安全性。
- 數字證書的數據簽名類似於加密過程,數據在實施加密後,只有接收方纔可打開或更改數據信息,並加上自己的簽名後再傳輸至發送方,而接收方的私鑰具唯一性和私密性,這也保證了簽名的真實性和可靠性,進而保障信息的安全性。
數字證書有很多格式版本,主要有X.509v3(1997)、X509v4(1997)、X.509v1(1988)等。比較常用的版本是TUTrec.x.509V3,由國際電信聯盟制定,內容包括證書序列號、證書有效期和公開密鑰等信息。不論是哪一個版本的數字證書,只要獲得數字證書,用戶就可以將其應用於網絡安全中。
特徵
安全性
用戶申請證書時會有兩份不同證書,分別用於工作電腦以及用於驗證用戶的信息交互,若所使用電腦不同,用戶就需重新獲取用於驗證用戶所使用電腦的證書,而無法進行備份,這樣即使他人竊取了證書,也無法獲取用戶的賬戶信息,保障了賬戶信息。
唯一性
數字證書依用戶身份不同給予其相應的訪問權限,若換電腦進行賬戶登錄,而用戶無證書備份,其是無法實施操作的,只能查看賬戶信息,數字證書就猶如“鑰匙”一般,所謂“一把鑰匙只能開一把鎖”,就是其唯一性的體現。
便利性
用戶可即時申請、開通並使用數字證書,且可依用戶需求選擇相應的數字證書保障技術。用戶不需要掌握加密技術或原理,就能夠直接通過數字證書來進行安全防護,十分便捷高效。數字證書是由CA中心所簽發的,CA中心是一個具權威性、依賴度極高的第三方,其資格證書經國家頒發,可有效保障網絡數據信息的安全性,使數據信息處國家掌握當中。用戶在瀏覽網絡數據信息或進行網上交易時,利用數字證書可保障信息傳輸及交易的安全性。
下載安裝
用戶需先於中國數字證書認證網進行登錄,若是首次登錄,系統會自動提示用戶安裝根證書,用戶只需依提示完成安裝即可;若未提示或根證書遺失,則需用戶手動操作完成安裝,這時,就需用戶於數字證書網頁選擇“根CA證書”進行安裝,依所彈出的對話框所選擇要安裝的文件夾位置,點擊確定即可。下載好之後,即可雙擊打開,選擇所要安裝的位置即可;安裝成功後,可於瀏覽器中直接選擇Internet,然後選擇所需內容,依提示完成所有操作。
舉例:使用百家雲終端軟件進行數字簽名,再windows端就會彈出如下提示,帶有發佈者的名稱。
頒發
數字證書的頒發即是用戶對自己密鑰和公鑰以及自身身體信息傳輸至驗證中心進行驗證的過程,驗證中心在經覈對後,即會給申請者發送相應的數字證書。所改善的數字證書當中包含了用戶基本信息及公鑰信息,部分還會附上經認證中心簽名的相關信息。在獲得數字證書後,用戶即可利用數字證書實施一些自己想要實施的活動。
每個數字證書都是不同的,且每個證書的可信度也存在一定差異,因此,申請者所獲得的數字證書都是唯一的。
應用
安全電子郵件
電子郵件中使用數字證書可以建構安全電子郵件證書,主要用戶加密電子郵件的傳輸,保護電子郵件在傳輸和接收過程中的安全。安全電子郵件證書主要有證書持有者的CA機構的簽名、電子郵件地址和公開密鑰這些信息。一方面,數字證書與電子郵件結合後,就可以在安全電子郵件證書的加密和數字簽名技術的保護下,實現電子郵件的安全傳輸和接收,保證了電子郵件的安全性和完整度。同時,也保證了電子郵件傳輸方和接收方信息的真實性。另一方面,安全電子郵件證書中包括公開密鑰這一信息,就能夠確保電子郵件不被更改,因爲只有知道公開密鑰才能使用電子郵件。
安全終端保護
隨着計算機網絡技術的發展,電子商務的發展也越來越快,在人們生活和生產中的應用也越來越廣泛,用戶終端和數據的安全問題也日益受到重視。爲了避免終端數據信息的損壞或者是泄露,數字證書作爲一種加密技術,可以用於終端的保護。
首先,使用正版的軟件和硬件,正確配置系統和網絡並定期進行檢查,防止終端配置被非法篡改。其次,利用網絡安全技術如防火牆對內外網絡進行實質性的隔離。同時,及時更新病毒庫和防病毒軟件,對終端系統實時進行病毒和安全漏洞的掃描,加強對終端系統的安全保護。一旦發現可疑信息,就要立即重點監控,防止其帶來的影響和破壞。最後,加強訪問終端的控制,利用加密和認證等手段加強信息破解的難度。用戶可以設置一個以數字證書爲主的系統登錄方式,加上動態加密,就可以實現對系統的驗證,沒有權限的用戶就無法進入終端系統的訪問,擁有權限的用戶就符合了訪問的要求,保證了訪問終端的一致性。另外還要做到終端網絡和主網絡的分離,減少兩者之間的數據交叉和結合,也避免了終端網絡和主網絡的相互影響,減少風險。
代碼簽名保護
網絡信息推廣對很多用戶來說,便捷有經濟,但對軟件的安全是不確定的。比如,用戶對軟件進行分享時,軟件的接收和使用過程中存在着很多不安全因素,即使軟件供應商能夠保證軟件自身的安全性,但也無法抵制盜版軟件和網絡本身存在的不安全因素帶來的不利影響。
可信網站服務
我國網站的數量伴隨着計算機網絡技術的發展呈現出日益增長的趨勢,其中的惡意網站、釣魚網站和假冒網站也越來越多,這就增加了用戶對它們識別的難度,一不小心就會將自身的數據信息泄漏,嚴重影響了網絡的安全。當用戶對所使用的網站存在疑慮,不確定其中是否有被篡改和侵襲時,就可以利用數字證書的技術。通過數字證書技術,就可以對不確定的網站先進行驗證和檢查,增加了使用安全網站的機率,也避免了惡意網站、釣魚網站和假冒網站等對網絡造成的損失。
身份授權管理
授權管理系統是信息系統安全的重要內容,對用戶和程序提供相對應的授權服務,授權訪問和應用的方法,而數字證書必須通過計算機網絡的身份授權管理後才能被應用。因此,要保證身份授權管理工具的安全性。當系統雙方相互認同時,身份授權系統的工作才能展開。同時,正確使用數字證書,適當授權,完成系統的用戶認證,才能切實保護身份授權管理系統的安全性。
數字證書通俗解釋
概述
數字證書分帶私鑰的證書和不帶私鑰的證書:
- 帶私鑰的證書:即P12格式證書(後綴名爲.pfx);
- 不帶私鑰的證書:有多種格式,通常使用的是cer格式證書(後綴名未.cer);
通俗解釋
數字簽名,在網絡安全領域用的比較多,可實現用戶身份的真實可靠性;實現信息的完整性,確保數據在存儲、傳輸和處理的過程中免遭任何非授權的或非預期的修改、插入、刪除、重發等破壞,從而實現數據的真實性、有效性和一致性。
用一段密碼與原文進行加密,檢測原文有沒有被篡改。或者理解爲就是對這些數據與原文數據比對是否修改過,如果有說明您的原文被篡改過,否則是你的原文。一般是用自己的私鑰對數據進行簽名,然後用公鑰去驗證這個數據是否修改過
- 簽名:個人用“私鑰”進行簽名
- 驗籤:用“公鑰”進行驗籤
- 加密:用公共的“公鑰”加密
- 解密:用“私鑰”進行解密
數字簽名的目的
用戶下載軟件時,能通過數字簽名驗證軟件來源可信,確認軟件沒有被非法篡改或植入病毒木馬,保護用戶不會被病毒、惡意代碼和間諜軟件所侵害,也保護了軟件開發者的利益,讓軟件能在互聯網上快速安全地發佈。
未使用數字簽名的軟件可能無法正常運行,以Windows系統爲例,如果用戶下載運行未簽名的軟件, Windows系統會發出紅色安全警告;而未簽名的ActiveX控件, Windows會直接攔截不允許運行。因此,數字簽名是軟件發行前必不可少的一道工序。
頒佈
數字證書(代碼簽名證書)是由權威CA機構(沃通CA)認證開發者身份頒發,開發者使用WoSign代碼簽名證書和代碼簽名精靈對軟件進行數字簽名,可以防止軟件被植入病毒木馬,減少Windows系統攔截,讓用戶可以順暢地安裝使用。
數字簽名與360等殺毒軟件的關係推斷
軟件不使用數字簽名證書,軟件有一定可能會被360等殺毒軟件攔截,還從其它渠道網友大佬公司得到一些信息,筆者主觀推斷:
- 推斷一:
某殺毒軟件存在證書白名單:該白名單保存了證書白名單,通過數字簽名的方式實現,當檢測到一個軟件則獲取其數字簽名,該數字簽名在某殺毒軟件的白名單內,則不攔截。
數字簽名本身也能驗證exe的完整性,某殺毒等殺毒軟件再做二次過濾以達到更高的安全性,措施也就是不在名單內的很可能就進行攔截,至於用戶自己可以手動添加到某殺毒軟件等本地白名單中放行。
- 推斷二(從筆記二中的數字證書廠家得到驗證該推斷是最接近於正確):
某殺毒軟件等殺毒軟件存在軟件白名單:該白名單保存了軟件的名稱(還有其他什麼細信息),在殺毒軟件開放平臺後端去申請過白名單(後臺免費申請過審批就行),對應的也有黑名單,因爲有案例說數字簽名被檢測到疑似有木馬後,使用該數字簽名的其它軟件也會被攔截。
以上只是筆者的主觀推斷,需要進一步論證,只可作爲參考。
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客導航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/104378208