Game2.tw遊戲社區

Android,iphone,ipad機遊戲攻略,收集軟體分享網站 mobile.game2.tw

關註網銀系統的安全:安全模型和架構設計的介紹

點評:隨著網絡的普及和金融業務的不斷擴展,網上銀行已經逐漸成為人們日常理財工具之一。

隨著網絡的普及和金融業務的不斷擴展,網上銀行已經逐漸成為人們日常理財工具之一。由於互聯網的開放性,安全性成為網銀系統設計和實施的重要挑戰。根據一份國內媒體的調查結果統計,超過九成的網民有意嘗試網銀業務,但是超過一半的受訪者擔心安全性問題。而在國外,根據美國互聯網犯罪投訴中心報告,2009年美國銀行客戶因網上賬號被盜而遭受的經濟損失高達5.59億美元。網銀系統安全的重要性可見一斑,相關的軟件開發人員也面臨巨大的挑戰。
IBM的工程師董偉、程平平最近撰文(下文稱“文章”)簡要描述瞭網上銀行普遍采用的安全系統架構以及相關技術,為關註金融領域的開發人員提供瞭參考。
文章首先對網銀系統的安全需求作瞭分析,提出瞭業務邏輯和數據兩方面的考量:

  • 業務邏輯安全需求
      身份認證需求訪問控制需求交易重復提交控制需求

    • 數據安全需求
        數據保密性需求數據完整性需求數據可用性需求數據不可偽造性需求數據不可抵賴性需求 這裡要特別強調與銀行客戶利益密切相關並為大眾熟知的數據保密性需求:

          客戶端與網銀系統交互時輸入的各類密碼:包括系統登錄密碼、轉賬密碼、憑證查詢密碼等必須加密傳輸及存放,這些密碼在網銀系統中隻能以密文的方式存在,其明文形式能且隻能由其合法主體能夠識別。 網銀系統與其它系統進行數據交換時必須進行端對端的加解密處理。這裡的數據加密主要是為瞭防止交易數據被銀行內部人士截取利用。

        在分析安全性需求的基礎上,文章引入瞭目前網上銀行最為著名的安全系統架構模型——PPDRR 模型,即策略 (Policy)、防護 (Protection)、檢測 (Detection)、響應 (Response) 和恢復 (Recovery),並認為這是“一種動態的、自適應的安全模型,可適應安全風險和安全需求的不斷變化,提供持續的安全保障“。基於PPDRR模型的網絡拓撲如圖1所示:
         
        圖1 網銀系統拓撲圖 (來源:developerWorks)關於拓撲結構,文章指出瞭幾個關鍵點:

          整個網絡系統通過三道防火墻劃分為四個邏輯區域。最外層為是 Internet 區(非授信區),為網銀用戶客戶端接入區域。第一道防火墻和第二道防火墻之間是隔離區(DMZ),在此區域中部署 RA 服務器以及網銀系統的 Web 服務器等其它第三方應用系統。第二道防火墻和第三道防火墻之間是應用區,是網銀系統的應用 /DB 區,在此區域中部署網銀系統的應用服務器和數據庫服務器。第三道防火墻之後為銀行的核心系統、中間業務平臺等第三方業務系統。在隔離區和應用區的 Web 服務器,應用服務器和數據庫服務器都會有相應的雙機熱備方案。 對於目前流行的專門盜取客戶的賬號和密碼的盜號木馬,文章指出“單純的軟件認證已不能滿足網絡銀行系統的身份認證需求,所以網絡銀行多采用軟硬件結合的雙因子認證方式作為身份認證的輔助解決方案”,其中包括:

            USB Key 認證動態口令刮刮卡動態短信 網銀系統的設計和實現過程中,安全性一直是架構師和開發人員最關註的因素之一,文章概述瞭一種目前廣泛采用的安全模型,具有參考和借鑒意義。InfoQ將繼續關註和報道相關領域的最新發展,也歡迎讀者朋友分享經驗和提供反饋。
            在本文發表不久,多位熱心的讀者通過各種形式進行瞭反饋,特別是來自梁江通信的狄衛華先生基於對網銀系統的理解,表達瞭自己的看法:

            當前對於網絡安全保障的主要手段就是使用安全的協議SSL/TLS。SSL/TLS協議結合數字證書基本上保障瞭網銀系統用戶的安全性,包括數據的私密性,完整性和不可否認性,但是SL/TLS協議結合數字證書也不是萬能鑰匙,在用戶使用過程中的種種疏忽或者網銀系統設計本身存在的種種安全隱患都可成為黑客攻破的大門。網銀系統直接牽扯到用戶資金的安全,因此網銀系統使用安全也逐漸成為廣大用戶關註的熱點,尤其是在當前電子商務開始盛行的時代。
            網銀系統的安全性一般分為服務端和客戶端兩個方面。服務端的安全包括用戶數據庫私密信息,服務器數字證書等安全性的保證,是網銀系統安全的基石;客戶端安全主要是對使用網銀系統用戶在使用過程中存在的種種問題提供的保護措施。
            服務器端的安全決定著整個網銀系統的安全性,用戶私密信息數據庫、服務器數字證書、用戶的私人證書等一切敏感信息都部署在服務器端。服務器端安全又包括物理安全和軟件安全。物理安全包括對於應用服務器硬件安全性的保障。軟件安全包括部署服務器的操作系統、網銀系統等方面的安全性。此處主要談論服務器軟件方面的安全,大體內容概括如下:
            網銀系統服務端安全性保障
            (1)相關的服務器所處局域網和操作系統層次的安全是最基本的保障,包括檢測系統漏洞,掃描Intranet安全,及時打補丁等措施。
            (2)保證服務器端數據和用戶數據的安全性和私密性,特別是服務器數字證書、個人數字證書的安全性;保證用戶敏感數據賬號、密碼等即使在服務器被攻破的情況下,也需要在一定程度上保證獲取者不能直接或者完全獲取用戶敏感信息,包括對敏感信息使用摘要算法MD5,SHA-1等。
            (3)網銀系統軟件架構健壯性和安全性保障。服務器端網銀軟件安全性必須包括應對重試攻擊、重放攻擊、堆溢出、拒絕服務攻擊(DOS),分佈式拒絕服務攻擊(DDOS)、SQL註入等常見的各種攻擊的保護措施;另外也包括通過雙機熱備等措施提供的高可用性、高可靠性等。
            (4)網銀系統軟件用於交換密鑰或者生成驗證碼的隨機數的隨機性,驗證圖片的加入幹擾因素的強度。
            網銀用戶安全性保障
            目前網銀系統的主要安全隱患在於諸多使用者的安全意識薄弱,對網絡使用安全瞭解甚少,也是網銀系統存在的最大安全隱患。因此在網銀系統的設計上應最大程度上減輕甚至避免由於用戶安全意識薄弱等方面帶來的安全隱患。當前大多數的網銀系統也正在逐步通過系統的完善性來保障用戶端使用的安全性。
            (1)保證用戶登陸過程中密鑰的安全性。網銀用戶的客戶端基本上都是Web瀏覽器,諸多的網銀系統都采取瞭開發自己的安全控件加強用戶的輸入個人敏感信息的保護,但是安全控件的安全性設計及其數字簽名也存在諸多的隱患,攻擊者可能會使用類似的安全控件達到混淆的目的。某些網銀系統的大眾版也提供初級安全,使用圖片讓用戶點擊輸入的方式防范密碼竊取工具。當然最好的解決辦法還是提供針對性的登陸軟件,但是無形之間復雜瞭用戶的使用。
            (2)使用驗證碼保護用戶密碼的軟件攻擊。使用隨機高強度的驗證碼圖片用於用戶單次登陸的憑證,防止攻擊者使用軟件自動進行頻繁重試破解密碼或者使用用戶登陸後的信息重放攻擊服務器。另對於可能由於疏忽忘記退出登陸提供時限的保護,超過時限自動退出。
            (3)使用多因子認證方案。提供除瞭用戶登陸密碼以外的其他信息作為輔助密碼:1)個人信息校驗,登陸過程總驗證用戶的個人信息如身份證號碼;2)申請個人數字證書,下載成功後保存於用戶登陸機器中,保存的數字證書使用密碼保護,提供一定的安全保障;3)使用物理介質保存個人數字證書,保證個人證書和機器分離,例如USB Key保存數字證書,用戶登陸時提供保存數字證書USB Key,USB Key還可以使用PIN碼來保護;4)提供附件的動態的密碼,每次登陸密鑰進行重新提供,密碼的有效性僅為此次登陸,常見的有動態口令,刮刮卡,動態短信等。

            感謝各位讀者朋友對本文的關註和意見,希望大傢繼續關註InfoQ!
             
            崔康 熱情的技術探索者,資深軟件工程師,InfoQ編輯,從事企業級Web應用的相關工作,關註性能優化、Web技術、瀏覽器等領域

Leave a Reply

Your email address will not be published. Required fields are marked *