程式碼簽署是透過數位方式簽署軟體、韌體或移動應用的過程,以保障終端用戶對其真實性和完整性的信任,開發者利用私鑰和程式碼簽署憑證進行數位簽名,作為證明程式碼來自驗證來源且自簽名以來未被篡改,讓用戶信任他們正在安裝或運行的軟體,如果軟體在簽署後被篡改,數位簽名將失效,並警告用戶不要信任該程式碼或軟體。
保障軟體及應用在其生命週期的每個階段(開發、構建、分發及維護)的安全,並提供以下證明來增進客戶信任:
真實性 Authenticity: 確保簽名者經過驗證且合法。
完整性 Integrity: 證明軟體自簽名以來未被更改。
不可否認性 Non-repudiation: 簽名者無法否認簽名行為。
確保軟體物件(如編譯後的代碼、容器或PowerShell腳本)在部署到生產環境前進行簽名。
保證組織內運行的所有軟體都是正確簽名且來自可信來源。
簽署桌面應用、移動應用或軟體更新,讓用戶能驗證軟體的真實性和完整性。
簽署分發給開發者的SDKs和框架,讓開發者能驗證其真實性並確保它們未被篡改。
驗證和確保配置腳本、自動化代碼或基礎設施即代碼模板的完整性。
簽署軟體整合模組或API庫,確保用於連接不同系統或服務的代碼可靠且未被篡改。
簽署韌體,確保IoT設備在其生命週期內保持安全。
確保系統啟動過程,只執行經過驗證和受信任的軟體。
Firmware 安全 OTA(Over-the-air) 更新。
MCU信任根(ROT)的安全佈署及移轉。
驗證版權發布者的身分,確保版權來自受信任的來源。
增強傳輸的安全,保護機敏資訊免遭竄改和未經授權的存取。
用於佈署軟韌體應用程式,下載和安裝的軟韌體來源皆是可信任的。
IEC 62443-4-2: CR 1.6 /CR 2.1/CR3.2/CR 7.3。
開發者撰寫代碼並準備分發。
生成公私鑰對,向受信任的憑證授權機構(CA)申請程式碼簽署憑證。
CA驗證組織的合法性後,發行數位簽署的程式碼簽署憑證。
使用SHA-256等雜湊函數生成軟體代碼的雜湊值。
用私鑰加密雜湊值,生成的加密摘要與公鑰和雜湊函數一同被簽署在代碼上。
完成簽署後,軟體準備分發或發布。
當用戶收到軟體並嘗試安裝時,操作系統檢查程式碼簽署憑證的真實性,並使用憑證中的公鑰解密雜湊摘要進行比對。
如果新計算的雜湊值與解密的摘要匹配,操作系統確認軟體自簽署以來未被修改,安全安裝。
全景軟體的程式碼簽署系統支援市場上絕大多數知名品牌的硬體安全模組(HSM),包括Thales/Gemalto、Utimaco、Yubico等,具備企業級的密鑰管理和安全保障,我們提供專業的HSM產品銷售,為需要高安全性保障的客戶提供一站式的解決方案,從硬體選購到技術支援,全方位滿足不同規模企業的需求。