2014-12-30 32 views
5

我遇到看起來像這樣的一些(Microsoft生成)的JavaScript文件:數字簽名的JavaScript文件

... SOME JAVASCRIPT CODE... 

// SIG // Begin signature block 
// SIG // MIIaVgYJKoZIhvcNAQcCoIIaRzCCGkMCAQExCzAJBgUr 
... 
// SIG // 2Ee3yfXCMiZKY8Yv2h0= 
// SIG // End signature block 

我的問題是,這是什麼數字簽名的目的是什麼?是的,我知道它是用某人的公鑰簽名的,它有助於識別文件的作者,是的,我知道它也確保沒有人篡改該文件,但瀏覽器對它做了什麼?他們如何使用它?在JavaScript文件中使用它有什麼好處(除了讓你的文件看起來更大)?

+4

他們是註釋行,因此在理論上什麼都沒有。 –

+0

也許某種未來技術可以驗證頁面以確保它未被外部力量(例如黑客攻擊)修改?但是,需要一些額外的保護,因爲黑客可以替換或刪除該塊。 –

+0

http://www-archive.mozilla.org/projects/security/components/signed-scripts.html – Rick

回答

2

它看起來像一個簽名腳本描述here(WSH VBScript中,但WSH可以使用JScript的爲好)。儘管如此,我認爲在瀏覽器上並沒有什麼意義。

+0

是的,這些都是我的想法完全是,但爲什麼他們把它放在那裏,如果有沒有它的目的? –

0

腳本看起來可能是被微軟SignTool,或類似的東西簽名。

我能想到的兩種用途如此。如上所述,其中之一是將其與Windows腳本主機或其他非瀏覽器引擎一起使用,該引擎在簽名前檢查簽名。第二個是通過在安裝時和/或在服務器端定期檢查簽名來驗證javascript文件的真實性。這將使管理員能夠驗證腳本沒有被篡改,即使在更新之後,它們也來自可信的供應商。

我想這可能派上用場的入侵檢測系統,以及。

0

每@ Kooilnc的link

數字簽名(與WSH 5.6引入的)提供了一種方法供您驗證誰編寫的腳本,以及一個辦法可以保證一個腳本尚未因爲它改變被寫和簽字。這並不一定意味着腳本是「安全的」。畢竟病毒編寫者也可以獲得數字簽名。但是,數字簽名確實提供了兩種保護措施:

本質上,它就像下載的MD5哈希;它可以讓你知道它來自你認爲它來自的來源,並且自從它提供它以來它沒有被修改過。