程式碼簽章解決方案

三月 26, 2019 | 產品新聞

程式碼簽章所需的高安全防護
° 保障來源、發佈日期及內容
° 建立軟體之完整性
° 保護重要的程式碼簽章金鑰

為了保護企業、品牌、合作夥伴和用戶不受到惡意軟體感染的軟體危害,軟體開發人員採用了程式碼簽章(Code Signing) 的做法。
nCipher 可以幫助您實施高效、高保障的程式碼簽章解決方案,保護您的企業和客戶免於被偽造或竄改的應用程序攻擊。

共享的程式碼簽章HSM,可支援多個軟體建構站(Software Build Station)

發行程式碼所面臨的挑戰

商業資訊技術很複雜,運作組織需要使用各種不同來源的軟體。無論是僅供內部使用或銷售給客戶,所有會進行軟體開發的公司都需要建立或支援其軟體的驗證機制。

確保程式碼安全需要以下機制:

  • 驗證簽章程序,只有正確的程式碼會以正確的金鑰進行簽章
  • 管理簽章私鑰,以免被竊或讓未授權的軟體版本進入客戶端
  • 提供所有簽章行為之稽核與追蹤

nCipher在開發、實施安全程式碼簽章解決方案方面,具有相當豐富的經驗,能提供以下功能,解決程式碼開發流程、完整性和私鑰保護所可能面臨的挑戰:

  • 使用 nCipher nShield® HSM 進行程式碼簽章,降低金鑰被竊、企業被冒名及惡意竄改軟體的風險
  • 讓終端用戶能驗證軟體的來源及完整性,並確認是否有惡意程式碼竄改及穿插在內
  • 作業系統會針對未簽章之軟體,顯示強烈警告的對話框,進而促使用戶安裝正確的軟體。
  • 為程式碼簽章的運作,提供存取控制、工作流程簽核、自動化和稽核功能。

以 NCIPHER HSM 作為程式碼簽章的硬體信任根

程式碼簽章是數位簽章在軟體發佈上的應用。

程式碼簽章讓終端用戶能透過發行者的身分驗證來確認軟體的來源和完整性; 同時也因為作業系統會針對未簽章的軟體,顯示強烈警告的對話框,進而促使用戶安裝正確的軟體。

私鑰對程式碼簽章系統的安全性而言相當重要,因此絕不能對外揭露或分享。如果私鑰被破解或盜用,整個信任機制就會失效,因此私鑰的安全性可說是程式碼簽章程序的基礎。

對機敏應用程式而言(如程式碼簽章的私鑰保護),無論是使用中或非使用的狀態,建立安全的解決方案是相當重要的。 HSM 提供經認證的防篡改環境,可對金鑰的整個生命週期進行保護。

為達到上述功能,nCipher 提供以下兩種以 nShield HSM(硬體安全模組)作為硬體信任根(root of trust)基礎的程式碼簽章解決方案,包括:

程式碼簽章閘道 Code Signing Gateway

對於需要高度控管軟體簽章審核流程的大型企業,程式碼簽章閘道提供了一系列彈性、集中的工作流程自動化功能,可幫助軟體開發單位滿足強大的安全要求。程式碼簽章閘道是一個集中化的客戶託管伺服器,執行與 nCipher 程式碼簽章工作流程相關的應用程式。

程式碼簽章閘道可管理工作流程、接受請求、透過電子郵件通知審核人員、管理逾時狀況、確認審核進度、Log 活動,並將通過簽章的程式碼傳送至暫存區(staging area)。可以支援多種使用者身分,如:程式碼簽章閘道管理員、企業用戶、單機、IoT物聯網或手機應用程式開發人員、管理團隊及程式碼簽章審核人員。活動目錄集則用於工作群組授權與使用者的身份驗證。

nCipher nShield HSM 用於保護程式碼簽章所使用的私鑰。簽章金鑰存於HSM中,並能對應程式碼簽章閘道所產生的各種簽章檔。

程式碼簽章閘道整合多種標準簽章工具,如 Oracle Jarsigner、Microsoft SignTool、Apple 程式碼簽章工具與 Android 程式碼簽章套件。流程示意圖如下圖所示:

程式碼簽章閘道流程示意圖

 

其他功能還包括多重簽章檔,會使用多個數位憑證支援多重簽章檔、集中Log記錄、文件歸檔,以及時間戳記服務和 Microsoft Windows Defender 的整合,以便在簽章前確認檔案是否中毒。nCipher 程式碼簽章閘道是由 nCipher ASG 進階解決方案團隊,針對每個客戶的使用環境所提供的客製化解決方案。

直接與HSM整合的程式碼簽章

與 nCipher nShield HSM 直接整合,為少數開發人員提供了簡單區分權責的解決方案。通常用於個人開發者工作站或專用程式碼簽章伺服器。程式碼簽章所需使用的私鑰由nShield HSM 生成保護。 與HSM整合的程式碼簽章使用標準API,如Java Cryptography Extension(JCE)、Microsoft CAP 和 CNG,並使用第三方工具,如 Jarsigner,SignTool 和 Open SSL,以建立HSM所執行的簽章請求。

 

了解更多資訊: https://www.ncipher.com/solutions/use-case/credentialing-and-pki-applications/code-signing

 

延伸閱讀: