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