1. 程式人生 > 其它 >給你的軟體上個“身份證”吧,論程式碼簽名的重要性

給你的軟體上個“身份證”吧,論程式碼簽名的重要性

也許老才子急於追愛,才把給用心做出來的表白小程式上個戶口這麼的重要事情給忘了。特別是讓還沒有追到手的女神看到這亮黃色的安全提醒也是讓人很不安心啊。

隨著數字化發展,我們日常生活和工作離不開各種各樣的電腦軟體,手機APP。在各類大小軟體扎堆開發、流氓軟體橫生的情況下,個人隱私及資訊保安保護已經成為我們日常生活關注的焦點。使用者怎樣才能信任那些在網際網路上釋出的軟體?這時候,我們僅需要一張“軟體身份證”——程式碼簽名證書。這張證書怎麼用?軟體開發者可以用它來保護千辛萬苦開發出來的軟體程式碼,不被非法篡改;而使用者則可以通過驗證這張證書來辨別軟體的發行商身份。來,往下看看。

什麼是程式碼簽名證書?

程式碼簽名證書是提供給軟體開發者,對其開發的軟體程式碼進行數字簽名的數字證書,用於驗證開發者身份真實性、保護程式碼的完整性。使用者下載軟體時,能通過數字簽名驗證軟體來源可信,確認軟體沒有被非法篡改或植入病毒木馬,保護使用者不會被病毒、惡意程式碼和間諜軟體所侵害,也保護了軟體開發者的利益,讓軟體能在網際網路上快速安全地釋出。

程式碼證書示意圖

軟體開發商可以使用程式碼簽名證書來簽名核心程式碼 .sys檔案、ActiveX檔案、.exe 和 .dll 檔案、Java Applets、J2ME MIDlet、Office巨集檔案和執行移動作業系統(Windows Mobile 和 Symbian)的智慧手機開發的移動應用軟體。

程式碼簽名證書的工作原理圖

誰需要程式碼簽名證書?

隨著網路安全警惕意識的空前高漲。要是我們開發的軟體無法證明合法性,則大部分網路使用者都不會下載。那麼程式碼簽名證書就可以激發客戶和使用者的信心,並提供我們要驗證程式碼所需的證明,這就相當於我們的居民身份證,證實我這個人是存在的,是品德優良的中國公民。

第一個需要這張“身份證”的人就是軟體開發人員,你可以使用程式碼簽名證書為客戶提供額外的保證,讓他們知道內容的生產商並且保證沒有被篡改。簽名的程式碼還可以防止程式碼在分發前被身份不明的第三方篡改。

另外就是內容釋出者,你可以對windows下的程式和巨集檔案或者其他型別的內容進行數字簽名,來確保通過網際網路或其他機制進行安全交付。

當指定程式碼片段(例如 Active X 控制元件、Java 小程式以及其他活動的網路指令碼程式碼)的原始碼可能不明顯時,程式碼簽名尤其重要。

如何才能獲取程式碼簽名證書?

碼簽名證書是一種採用數字簽名技術的數字證書,允許軟體開發者對其可執行指令碼、程式碼和內容進行簽名,以通過網際網路驗證開發者的身份。所以要想實現程式碼簽名必須首先獲得數字證書才能使用這些功能。

並且程式碼簽名證書針對不同的平臺,其程式碼證書品種也不盡相同,因此使用者最好事先諮詢正規的程式碼簽名證書的頒發機構,可以針對不同平臺的程式碼簽名應用,提供不同的程式碼簽名證書產品及應用解決方案。

程式碼簽名證書的一般分類?

1.標準程式碼簽名證書

程式碼簽名證書(Code Signing Certificates)是為軟體開發者提供的一個理想的解決方案,使得軟體開發者對其軟體程式碼進行數字簽名,確保使用者下載的內容來自所宣告的來源。

2.EV增強型程式碼簽名證書

EV程式碼簽名證書(Extended Validation Code Signing Certificates)在原始碼簽名證書基礎上加強了對企業身份的驗證。

二者的功能區分如表中所述:

認證機構

證書頒發機構(CA),是採用PKI公開金鑰基礎架構技術,專門提供網路身份認證服務,負責簽發和管理數字證書,且具有權威性和公正性的第三方信任機構。它的作用就像我們現實生活中頒發證件的公司,如護照辦理機構。 證書頒發機構 (CA) 是一個向單位、個人等頒發證書的可信實體。CA 受理證書申請,根據該 CA 的策略驗證申請人的資訊,然後使用它的私鑰把其數字簽名應用於證書。最後,CA 將該證書頒發給該證書的主體。 通過遵循此層次結構或驗證路徑,到達已知的受信任證書頒發機構,可以確保證書有效。 沃通CA專注數字證書行業十餘年,持續提供全球信任的各類數字證書,支援所有瀏覽器和移動終端,具備最廣泛的相容性;打造數字證書生態鏈,為客戶提供一站式高效服務沃通 EV程式碼簽名證書具有普通程式碼簽名證書的所有功能,但採用更加嚴格的擴充套件驗證標準(EV驗證)稽核開發者身份,並採用更安全的私鑰保護機制,將證書儲存在USB key中,杜絕了證書被盜用的風險;由全球信任頂級根簽發,廣泛相容Windows作業系統新老版本,符合微軟對程式碼簽名證書的要求,可用於所有硬體開發人員中心硬體儀表板服務。

  • 支援Win10驅動簽名

  • 支援Windows核心程式碼簽名

  • 支援Windows硬體認證,可用於建立Windows硬體開發人員中心儀表板賬號

  • 支援UEFI,Kernel-mode驅動簽名和 LSA 認證

  • 幫助已簽名程式碼在SmartScreen中快速建立信譽,減少信任警告資訊

沃通EV程式碼簽名證書採用RSA 3072位以上的公鑰演算法和SHA 256以上的簽名演算法,遵循嚴格的EV驗證標準稽核簽發;證書私鑰儲存在硬體USB Key中,保護金鑰不被複制和分發,需要硬體USB Key和密碼雙因素認證才能進行簽名;提供符合RFC 3161的時間戳,確保證書過期後,已簽名的軟體程式仍可正常使用。