怎樣保護好妳的數字證書和數字簽名麻煩告訴我
讀者看到了這個題目,可能會產生這樣的疑問:數字證書和數字簽名本來就是網銀交易的安全保護者,怎麽它們自己還需要保護呢?是的!它們也需要保護,正如戰士的槍是殺敵和自衛的武器,但槍本身也需要保護壹樣。下面,分兩個方面講講這個問題。 數字證書和雙因素認證 現在,大多數銀行都建議網上銀行客戶使用隨身攜帶的移動證書(工商銀行稱其為“U盾”)。這種放在USB Key中的數字證書在使用時私鑰不出界面,接口上輸入輸出的數據全是加了密的密文,黑客無法截獲有用信息,也無法竊取私鑰造假,有效地保護了網銀交易的安全。但是,如果移動證書壹旦遺失,就會造成被人冒用的危險。因此,銀行也會告誡用戶,遺失移動證書的客戶應及時到銀行掛失,重新領取證書。新證書的密鑰要重新換過,老證書被作廢,這就避免了證書遺失後被人冒用的危險。 但是,從證書遺失或被竊,到客戶發現遺失,去銀行掛失,然後到銀行將老證書作廢,給客戶換發新證書等等,這個過程是需要壹定的時間的。如果不法分子在拿到證書後立即作案,妳還是來不及避免損失。這可怎麽辦呢? 為了避免這種情況,對證書就需要采取壹定的保護措施。壹方面,客戶需要妥善地保管自己的數字證書,不遺失不被竊,還要養成良好習慣,網銀交易完成後要立即拔下移動證書,避免被他人冒用;另壹方面,從技術上要采取保護措施,例如要設置雙因素認證機制。 什麽是雙因素認證機制呢?簡單地講,就是用兩種不同的方法和途徑(即因素)來進行身份認證。 從安全理論上講,身份認證的因素可以分成三類: 第壹類因素是認證對象“所知道的內容”,例如口令密碼和身份證號碼等。這需要使用者記憶。 第二類因素是認證對象“所擁有的物品”,例如數字證書、銀行卡、身份證、權威機構的證明信等。在線下交易中,認證對象所擁有的物品需要隨身攜帶,但在網上交易中,銀行卡、身份證、權威機構的證明信就無法使用了,只有數字證書靠著特殊的PKI技術,可以看作是認證對象所擁有的物品。 第三類因素是認證對象“所具備的特征”,例如面容、指紋、瞳孔、聲音等。這是認證對象本身擁有的惟壹特征,壹般用於現場認證,現在通過特殊的裝置也可以用於網上認證。 單獨來看,這三個因素中的任何壹個都有問題。“所擁有的物品”可以被盜走;“所知道的內容”可以被猜出、被分享,復雜的內容可能會忘記;“所具備的特征”最為簡單而強大,生物特征隨身自帶,重現率極低且極不易仿冒,但是代價昂貴,壹般用在頂級安全需求中。 把以上三種認證因素中的任意兩種結合起來形成雙重認證,就是雙因素認證機制。顯然,雙因素認證機制要比單因素認證機制更為安全。 現在,我們回過頭來說證書的保護。 如果客戶在領取證書的同時,銀行為證書設置壹個密碼口令,要求在網上交易使用證書時,先要客戶回答口令,不能正確回答口令者就不能使用證書。那麽,即使證書遺失或被盜,不法分子拿到證書也完成不了網銀交易,這就相當於為證書加了壹道防護鎖。 從理論上講,這裏使用了雙因素認證機制:認證對象所擁有的物品—數字證書,以及認證對象所知道的內容—密碼口令。 數字簽名和“所見即所簽” 在《正確使用和保管妳的數字證書》壹文中,我們介紹了USB Key數字證書的安全性可靠性,在目前的技術條件下,還沒有人能攻破USB Key數字證書的安全防護和密碼機制。具體的實例是工商銀行數百萬U盾用戶中,至今還沒有壹例網銀盜竊案件發生。 但是世上沒有絕對的事情,就算我們把USB Key數字證書,以及用USB Key中保存的私鑰所做的數字簽名看成是絕對可靠,黑客還是有可能通過別的途徑來達到它實行網銀詐騙的目的。這件事有點像二戰時期馬奇諾防線的故事,法國人把正面的馬奇諾防線修得固若金湯,但狡猾的德國人繞過馬奇諾防線,取道第三國,從側面攻入了法國。 為了保證網銀交易的數據(例如對方的帳號、轉賬金額等)不被篡改,客戶要對這些數據用自己的私鑰做數字簽名。經過簽名後,如果黑客再作任何篡改,銀行立即就能發現,拒絕完成交易。使用USB Key數字證書更加保險,簽名過程在USB Key的芯片中自行完成,私鑰不出界面,避免被黑客截獲。這個數字簽名的機制應該說是極其安全的,堅固的密碼體制就像馬奇諾防線壹樣牢不可破。 然而還存在著壹種可能,那就是黑客在客戶的電腦裏埋植了木馬,當應用程序把網銀數據從PC送往USB Key進行數字簽名時,木馬程序在內部總線上截獲這些數據,這時候它們還沒有被加密,是以明碼形式存在的。然後木馬程序把數據進行篡改(如將本應劃給張三的賬款,劃到黑客賬戶上,或改變劃款金額等),再送到USB Key進行數字簽名。這時候銀行並不知道數據已被篡改,它收到由客戶數字簽名的交易數據後驗簽無誤,便按照篡改後的支付指令進行轉帳。而客戶也不知道數據已被篡改,因為銀行回答客戶的交易成功的消息也會被木馬按照正確的數字改回來,顯示在客戶的屏幕上。客戶看到正確的確認消息,也就不加懷疑,以為壹切正常。殊不知交易已被偷梁換柱,賬戶上的錢已被巧妙地竊走。 好了,黑客繞過了“馬奇諾防線”,從側面實現了網銀盜竊的目的。 對付這種偷梁換柱的伎倆,安全專家也有招數,那就是所謂“所見即所簽”的安全策略。具體的做法是:在USB Key上加壹個小液晶屏,讓它在客戶進行數字簽名前,顯示即將被簽的交易數據,客戶只有看到了正確的數據,才會執行簽名的操作。如木馬程序把數據進行了篡改,客戶會立即發現而拒絕簽名,交易也就失敗,帳款就不會丟失。 那也許有人問,木馬要是鉆到USB Key裏去篡改數據怎麽辦呢?這我們在上壹篇文章中已經說過了,USB Key的設計只允許應用程序在其界面外作API調用,輸入參數、數據和命令,啟動USB Key內部的數字簽名運算、密碼運算等,並獲得返回結果。任何程序不允許進入USB Key界面以內進行操作。這就堵住了黑客/木馬偷梁換柱的路。