什麼是數碼證書?
2023年7月12日
代碼簽署可向用戶、操作系統及安全工具確認應用程式確實來自聲明的發布者,且自發布以來未遭竄改。若未進行代碼簽署,軟件或會被標記為不安全、遭阻止安裝,或被惡意攻擊者利用。
代碼簽署的用途是用於驗證程式開發者的身份及來源,同時確認軟件自簽署後未遭竄改。
開發者為程式、應用程式、可執行檔或指令碼進行代碼簽署時,會附加一份數碼證書,用於核實自身身份以及軟件的完整性。代碼簽署證書採用公鑰密碼技術,該技術同樣應用於其他各類數碼證書。這種機制獲流動裝置、桌面到嵌入式系統等各類操作系統與平台支援。微軟 Windows、蘋果 Mac OS X、各 Linux 發行版以及 iOS、Android 系統均廣泛使用代碼簽署。
隨着網絡威脅愈來愈多針對軟件信任層面的漏洞,代碼簽署已成為抵禦竄改、惡意軟件傳播以及供應鏈攻擊的前線防禦手段。
因此,對於希望保障用戶安全、維持平台信任、確保軟件安全可靠交付的軟件發布者及開發機構而言,落實嚴格的代碼簽署實務至關重要。以下最佳實務有助應對代碼簽署安全最常見的風險:
監控並審計簽署活動:如果缺乏可見性,濫用行為可能在造成損害前都無法被發現。你需要維護詳細的代碼簽署事件、存取記錄、審批流程和時間戳日誌。定期開展日誌審計有助於偵測異常活動,為調查工作提供支援。
實施代碼簽署需要一對唯一的加密密鑰對,當中包含需嚴格保密的私鑰,以及可公開分發的公鑰。二者共同構成了公鑰加密技術的基礎,支援在不暴露私鑰的前提下完成軟件簽署。
生成新的密鑰對後,借助公鑰基礎設施(PKI)公鑰會作為證書簽名請求(CSR)的一部分發送給證書頒發機構(CA)。CA會驗證開發者或機構的身份,然後頒發代碼簽署證書。
開發者獲取證書後,必須對軟件代碼進行哈希運算。哈希是指使用哈希函數將代碼轉換為任意固定長度值的過程。哈希運算的輸出結果稱為摘要,隨後會使用私鑰對摘要進行加密。接下來,開發者將該摘要、代碼簽署證書與哈希函數組合,生成名為簽名塊的內容——本質上是將上述所有元素整合為一段代碼,可方便地嵌入軟件中。
代碼簽署最大的風險點在於證書關聯的私有代碼簽署密鑰的保護。如果密鑰洩露,證書將失去信任度與價值,危及已簽署的軟件。
許多機構使用安全保險庫和硬件安全模塊(HSM)來提升私鑰的安全防護等級。還有部分機構採用專門的證書管理平台,對所有代碼簽署證書的生命週期管理進行自動化加固,典型產品如Sectigo Certificate Manager。使用證書管理器可有效提升私鑰及其他加密資產的完整性保障水平。
簡言之,程式碼簽署有助於防範惡意軟件防止惡意軟件及其他惡意程式碼偽裝成無害檔案或Windows更新等正常內容,植入終端用戶的系統。其運作原理是讓用戶可驗證下載的檔案確實來自原始發布方,而非惡意攻擊者。這強化了系統內的信任機制,讓開發者可向軟件下載者保證來源可靠、安全。
EV程式碼簽署證書可提供額外安全保障。這類數碼證書要求密鑰必須儲存於符合FIPS 140-2或更高標準的高保障硬件中。符合要求的USB令牌可透過PIN碼新增一層防護,你也可選擇將密鑰儲存於機構本地部署的HSM內。
喬治亞理工學院網絡鑑證創新實驗室的研究顯示,頒發及使用擴展驗證(EV)SSL/TLS證書,可讓網站抵禦釣魚攻擊及被濫用的比率達99.99%。該白皮書由Sectigo贊助,可於此處下載.
遵循這些程式碼簽署最佳實務,可大幅降低未經授權的軟件分發、安裝時出現安全警告及用戶信任流失的風險,同時提升軟件安裝率,讓軟件更順利獲用戶採用。
由受信任的證書頒發機構發出的證書,會獲作業系統及安全平台廣泛認可。Sectigo是全球領先的證書頒發機構,提供快速、靈活的程式碼簽署解決方案。我們的程式碼簽署證書可協助發布方建立信任,保護用戶免受被篡改的程式碼侵害,同時加快軟件發布流程。了解Sectigo提供的各類程式碼簽署證書,或聯絡我們的如需查詢更多資訊,請聯絡專家團隊.
中國區服務團隊