ASP.NET應用程序的安全方案(三)—安全通信

摘要:本文ASP.NET應用程序安全的概念,介紹了各種安全通訊技術並進行了比較。


關鍵字:安全通訊 SSL IPSec RPC ASP.NET WEB應用

1. 前言

    任何成功的應用程序安全策略的基礎都是穩固的身份驗證和授權手段,以及提供機密數據的保密性和完整性的安全通訊。
    許多應用程序在應用程序的各層之間傳輸機密數據:從數據庫到瀏覽器,或者相反。機密數據的例子包括銀行賬戶的詳細資料、信用卡號碼和薪金數據等。另外,當登錄憑據在網絡上傳輸時,應用程序必須保證憑據信息的安全。

2. 安全通信的特性

2.1 .保密性(privacy)

    保密性用於確保數據的機密性,不能被那些可能安裝有網絡監視軟件的竊聽者看到。通常通過加密來提供保密性。

2.2 完整性(integrity)

    安全通信信道必須確保數據在傳輸過程中不會有意或無意被修改。通常通過消息驗證碼(MAC,Message Authentication Code)來提供完整性。

3. 安全通訊技術

3.1 安全套接層

    安全套接層(Secure Sockets Layer)技術最常用於保護瀏覽器和Web服務器之間的信道。不過也可以用於保護往返於運行了SQL Server 2000 的數據庫服務器和WEB服務消息和通信。
    當應用SSL時,客戶端使用HTTP協議並指定一個https://URL,而服務器在TCP端口443上偵聽。

 

    使用SSL後,由於SSL使用複雜的加密功能來對數據進行加密和解密,因此對應用程序的性能會產生影響,所以應改優化使用SSL的頁面。
     在使用基本身份驗證和窗體身份驗證時,因爲是以明文的形式傳遞用戶名和密碼,因此應該使用SSL。一般說來,不但要在登錄頁面使用,在後續的頁面上也應該使用SSL。

3.2 Internet 協議安全性

    Internet 協議安全性(IPSec, Internet Protocol Security)提供了一種傳輸層安全通訊解決方案,可以保護兩個計算機之間-例如,一個應用程序服務器和一個數據庫服務器之間-來回傳遞數據。
    IPSec 可以用於:

  • 通過對兩臺計算機之間來回發送的所有數據進行加密來提供消息的保密性。
  • 在兩臺計算機之間提供消息完整性(不對數據進行加密)。
  • 在兩臺計算機之間(不是用戶之間)提供相互的身份驗證。
  • 限制哪些計算機可以相互進行通信。也可以將通信限制爲使用特定的IP協議和TCP/UDP端口。

3.3 遠程過程調用加密

    遠程過程調用(RPC,Remote Procedure Call)加密,由分佈式COM(DCOM)使用的RPC協議提供的一種身份驗證級別,這種級別將使得在客戶端和服務器之間傳送的每個數據包都被加密。

4. 角色的授權的模式

    《ASP.NET應用程序的安全方案(一)-身份驗證》
    《ASP.NET應用程序的安全方案(二)-授權》


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=31807

發佈了5 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章