軟件開發(fā)者在開發(fā)軟件過程中安裝代碼簽名數(shù)字證書,對其軟件代碼進行數(shù)字簽名,來標識軟件來源和軟件開發(fā)者的真實身份,既保證了代碼在簽名之后不被惡意篡改,又能使用戶在下載已經(jīng)簽名的代碼時,能夠有效驗證代碼的可信度。所以代碼簽名證書變得越來越重要,已經(jīng)成為不少軟件開發(fā)者必選的產(chǎn)品和應(yīng)用解決方案。
早先,軟件由開發(fā)者開發(fā)、測試和發(fā)布,然后用戶下載安裝使用,只要能得到用戶的認可就不用擔心下載量。但隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,軟件開發(fā)者發(fā)布的軟件存在被惡意的病毒程序冒名頂替的風險,對于無法明確分辨真?zhèn)蔚那闆r下,用戶一旦下載和使用了假冒程序,其后果可能不堪設(shè)想。每年因為軟件被冒名、篡改的新聞層出不窮,對原軟件開發(fā)商來說負面影響相當大。
安裝軟件時可以看到代碼簽名證書
所以越來越多的軟件發(fā)布下載和搭載平臺,開始了對軟件的安全驗證。例如操作系統(tǒng)巨頭微軟就對Windows應(yīng)用程序的開發(fā)人員和軟件廠商提出了安裝資質(zhì)要求,使用可應(yīng)用于微軟系統(tǒng)的代碼簽名證書對軟件進行數(shù)字簽名并蓋上時間戳,確保該軟件的可信任。
Windows提示軟件風險
除了應(yīng)用于微軟代碼簽名外,還有Android代碼簽名、Adobe AIR代碼簽名、Java代碼簽名等代碼簽名證書的不同應(yīng)用方式。
那代碼簽名證書是什么?它是一種包含了完全標識實體的信息,并且由受信任的證書頒發(fā)機構(gòu)CA頒發(fā),放置與軟件或其他可執(zhí)行文件和腳本上的數(shù)字證書。而它的主要作用筆者在開頭就已經(jīng)介紹了:證明軟件開發(fā)者的身份,并驗證軟件未被篡改。
軟件使用代碼簽名的好處
中文翻中文的意思就是,這個軟件確實是我開發(fā)的,大家放心下載和使用吧。
前面筆者提到,一旦用戶下載了被冒名的軟件和應(yīng)用程序,對原軟件來說有很大的負面影響。這里還要再加一條,用戶下載使用了被黑客攻擊篡改過的軟件,客戶將不會給予軟件開發(fā)商第二次相信的機會,損失將不可估量。
添加代碼簽名數(shù)字證書可以解決上面提到的軟件被篡改攻擊、客戶信任的問題,也就代表了軟件開發(fā)者使用代碼簽名證書的必要性。可以預見,會有越來越多的軟件開發(fā)者會使用代碼簽名證書。