青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
數據加載中……

用于實現 Web 服務的 SOA 編程模型,第 7 部分: 保護面向服務的應用程序

保護面向服務的體系結構(service-oriented architecture,SOA)中的應用程序具有挑戰性,因為 SOA 的松耦合特性可能暴露現有安全實現的弱點。以下解決方案包括定義明確的信任模型(基于可接受的驗證形式),并糅合了策略、Web 服務安全性和安全工程最佳實踐。

引言

對于任何應用程序來說,保護信息訪問的安全都是最基本的要求。由于按 SOA 原則構造的實現的服務、應用程序以及跨組織操作的松耦合,因此安全對其甚至更為重要。這種環境往往會暴露現有安全實現的弱點或局限性。

即使不考慮通過由模型驅動的開發和基于 SOA 的服務管理所提高的效率,業務應用程序仍須保護信息。只保護周邊設施(如防火墻和路由器)是不夠的,因為隨需應變的企業必須能夠隨著其合作伙伴、客戶和雇員之間的關系發展而建立和斷絕動態信任關系。因此,安全的隨需應變企業需要靈活的、可自定義的基礎設施,以適應新要求和規章制度。要提供這種靈活性,不應將策略生搬硬套到基礎設施中;應該通過由策略驅動的基礎設施滿足安全模型的要求,這任務可不簡單。

本文將闡釋業務應用程序利用隨需應變安全基礎設施的安全功能的方式,以及建立用于保護面向服務的應用程序的編程模型的設計原則。







業務應用程序和安全基礎設施

安全集成以及對業務應用程序和信息的訪問通常是通過身份驗證、授權和責任實現的。企業探討管理身份驗證、授權和責任的方式在很大程度上取決于其對客戶、雇員和合作伙伴之間的信任關系的看法;這些關系對業務應用程序安全的影響;以及這些應用程序的相對重要性和安全性。

在業務合作伙伴之間交換敏感信息時,敏感信息必須受到保護。可能還需要用安全的方式保存敏感信息。必須保證消息源的完整性(如通過公證服務)才能在必要時啟用驗證、審核和認可??赡苄枰獙γ舾行畔⑦M行加密以實現機密性,或對其進行數字簽名以實現完整性。(數字簽名也可用于認可。)完整的 SOA 設計必須不但涵蓋消息級和傳輸級安全性,而且還要滿足保護保存的內容以遵守政府規章制度和業界最佳實踐的需要。

安全策略的制定和執行以及所執行的安全級別,基本上都取決于企業及其雇員、客戶和合作伙伴之間的信任關系。證書和密鑰之類的相關技術可用于反映和管理這些信任關系。工具可用于建立業務合作伙伴、客戶和企業等之間的信任關系模型并指定信任關系,還可以將信任定義轉換成適用于 IT 環境的技術。







SOA 安全模型

SOA 安全模型基于 Web 服務可能需要其中的傳入消息以驗證一系列聲明的過程。名稱、密鑰、權限和功能都是聲明的例子。根據所提供的證據,會在請求者、服務端點和一系列可能的中介之間應用適當的信任模型。

消息可能會通過請求者和目標服務之間的若干中介。端到端安全性必須考慮到請求者、中介和最終端點服務(提供者)之間的信任模型,如圖 1 所示。


圖 1. 從請求者通過中介到提供者的信任模型
信任模型

對于消息處理,網絡和傳輸中介(如防火墻、路由器和代理服務器)一般不受信任。應該防止傳輸中的所有消息受到不可靠中介的篡改。

OASIS Web 服務安全性(Web Services Security,WSS)規范提供對傳輸中的簡單對象訪問協議(Simple Object Access Protocol,SOAP)消息的保護??捎?WSS 防止消息的真實性、完整性和機密性受到不可靠網絡和傳輸中介的攻擊。


圖 2. 消息中介代理信任關系和聯合
消息中介代理

并不是所有中介都不可靠。Web 服務網關和企業服務總線中介服務都是消息轉換中介的例子,其在 SOA 內的功能包括檢查,在某些情況下還包括對消息有效負載的修改 [請參閱此系列中的第 4 部分,“IBM 企業服務總線簡介”(developerworks,2005 年)]。在設計 SOA 安全基礎設施時,請考慮允許某些受信任的中介。

處理請求者和應用程序服務主機之間的信任關系的消息代理可能是另一個受信任的中介。在這種設計中,安全責任由代理和服務端點來分擔。如圖 2 所示,消息中介將負責消息級安全、請求者和提供者環境之間的身份聯合,以及管理請求者和服務提供者之間的信任關系。服務只有為了滿足特定于服務的安全要求(如建立(通過中介映射和聯合)訪問特定于消息有效負載中應用程序數據的服務、完整性和機密性數據的身份)才會繼續起安全作用。通過分解業務應用程序中脆弱或復雜的基礎設施代碼并將其委派給容器,基于 SOA 的安全方法可以提高靈活性并降低發生不測事件的可能性。







消息安全性

WSS 規范還提供一系列有助于 Web 服務開發人員保護 SOAP 交換的基本消息級完整性、機密性和身份驗證機制??捎酶鞣N方式組合這些機制,以便用各種加密技術建立各種安全模型。

WSS 還提供可擴展的機制,以便將安全令牌與含有各種身份驗證及授權格式和機制的消息相關聯。例如,客戶機可能會提供身份證據及其具有特定業務證書的已簽名聲明。然后收到這種消息的 Web 服務就可以確定是否要信任其聲明和信任的程度。

安全令牌聲明可由授權機構核準或不核準。一組已核準的聲明通常表示為安全令牌(經過數字簽名或受到授權機構加密保護)。X.509 證書就是一個熟悉的已簽名安全令牌例子;它斷言某人的身份和公鑰之間的綁定關系。安全令牌可以“推送到”消息中或者在消息中攜帶安全令牌,也可以通過引用表示安全令牌,以便接收方從授權機構“拉取”該聲明。

因為安全令牌是在信任域內起作用的,所以需要有鏈接信任域作用范圍的方式。可通過協議或通過實現一系列規則強制執行信任策略來手動鏈接。這樣,如果發送方和接收方之間有已確立的信任關系,則可信任未經核準的聲明。例如,如果發送方和接收方使用的是其通過帶外信任關系建立的可靠連接,則發送方為 Bob 的未核準聲明足以讓某些接收方認為發送方實際上就是 Bob。在本例中,此可靠連接的存在可作為確鑿的證據。

防止消息內容受到非法訪問(機密性)或非法修改(完整性)是主要的安全事務。WSS 規范提供通過對主體、標題、附件或其任意組合(或部分)進行加密和/或數字簽名保護消息的方法。

身份驗證請求基于可選網絡、由傳輸支持的安全性和消息中已批準的信息(聲明)的組合,這種技術稱為消息源身份驗證可能更好一些。通過網絡和由傳輸提供的安全性、消息中已批準的聲明,以及用收件人已知的密鑰對請求進行加密,請求者可以對收件人進行身份驗證。







信任模型

演示安全令牌已授權應用的一種方式是,添加采用相關聯密鑰(來自于占有證據令牌)的數字簽名。這會使請求者可通過將安全令牌(如 X.509 公鑰基礎設施(Public Key Infrastructure for X.509,PKIX)證書或 X.509 證書)與消息相關聯來證明所請求的聲明組。

如果請求者沒有向服務證明請求的聲明所必要的令牌,則可與相應的授權機構(我們稱為安全令牌服務)聯系,并用正當的聲明請求所需的令牌。安全令牌通過發布一系列安全令牌(可用于在不同的信任域之間代理信任關系)來形成信任的基礎。

一種機制是應用 WS-Trust(對于有關 WS-Trust 規范的更多信息,請參閱參考資料)中所定義的質詢回應協議。這種機制由 Web 服務用來對請求者進行更多質詢,以確保消息不過時,以及驗證安全令牌的使用是否已經授權。圖 3 所示的就是此模型,可以看出任何請求者也都可以是服務,請求者和目標服務都具有受信任的第三方安全令牌服務,這種服務有助于驗證每個目標服務策略所需的安全令牌。


圖 3. 安全令牌服務
安全令牌服務

此 SOA 安全模型(聲明、策略和安全令牌)還含有并支持若干特定模型,如基于身份的授權、訪問控制列表和基于功能的授權。通過該模型可使用現有的技術,如 X.509 公鑰證書、基于 XML 的令牌、Kerberos 共享秘密票證,甚至口令摘要。SOA 模型結合 Web 服務安全對話語言(Web Services Secure Conversation Language,WSSC)和 Web 服務策略框架基本要素,這足以構造高級密鑰交換、身份驗證、基于策略的訪問控制、審核和復雜的信任關系。

將對 Web 服務應用策略,Web 服務會從請求者收到可能包括安全令牌的消息,還可能會對其通過 WSSC 機制應用某些保護措施。下面是由 Web 服務的信任引擎執行的主要步驟:

  • 驗證令牌中的聲明是否足以遵從策略,以及消息是否與策略一致。
  • 驗證申請人的特征是否可由簽名來證明。在代理式信任模型中,簽名不可以證明申請人的身份;簽名可以證明中介(只是可斷言申請人的身份)的身份。聲明經過批準或不是基于策略。
  • 驗證安全令牌(包括所有相關和即將頒發的安全令牌)的頒發者是否可信,可以頒發其所作的聲明。信任引擎可能需要外部驗證或代理令牌(也就是向安全令牌提供服務發送令牌,以便用其交換其他可直接用在其評估中的安全令牌)。

如果滿足了這些條件,而且請求者有權執行操作,則服務可以處理服務請求。

可將 IP 安全(IP Security,IPSec)或傳輸層安全/安全套接字層(Transport Layer Security/Secure Sockets Layer,TLS/SSL)之類的網絡和傳輸保護機制與此 SOA 安全模型結合使用,以支持不同的安全要求和方案。如果可用,作為附加安全技術,請求者應該考慮采用網絡或傳輸安全機制,以便在頒發、驗證或更新安全令牌時對收件人預先進行身份驗證。







編程模型設計原則

從安全的角度來看,編程模型包括對于誰負責實現安全策略(如基礎設施或應用程序)所作的決策,以及需要讓請求者得到此信息的哪一部分。除了操作方面,某些設計期間的策略(如在 J2EE 描述符中捕獲的)也有助于管理應用程序。是通過使基礎設施能夠實現安全模型,還是通過將安全的實現轉換成每個應用程序中的代碼來最大程度地滿足業務需求,這是關鍵實現決策之一。要考慮的另一方面是調用服務的變數。服務的消費者是否通過可在訂閱期間定制的選擇得到了靈活性?最后,在實現安全解決方案時,應該考慮安全工程——用于構建安全應用程序的工程方法。







由基礎設施管理的安全與由應用程序管理的安全

每個組織通常都會讓某些人負責確定和實現其安全策略。在許多情況下此過程都是手動的,從而導致組織投入大量資源在不同的實體和應用程序之間協調訪問。

我們建議復雜的組織在基礎設施中集中實現與解決方案相關的安全策略——也就是驗證用戶質詢(如用戶 ID/密碼)、控制對應用程序的訪問(如對 travelService 執行 reserve() 方法),以及委派身份(如運行方式 travelAgency id),以確保方法一致。可在某些部署構件(如 J2EE 應用程序的部署描述符)中定義初始應用程序安全策略。部署完畢后,熟悉大部分應用程序邏輯時就可以向部署環境提供策略信息了??蓪⒉呗月暶鞲爬ǔ筛呒壊呗砸螅詡鋵砑毣蓪崿F約束條件,這被認為是部署階段的工作。

應用程序設計中引入了有關由基礎設施管理的安全與由應用程序管理的安全的決策。安全約束和條件是附加到實現構件的。決定是讓基礎設施處理安全,還是將安全轉換成應用程序中的代碼的時機在實現階段,此時通??梢缘玫接嘘P應用程序平臺(如 Java? Platform Enterprise Edition (J2EE) 和 Microsoft? .NET)的信息。

我們建議將應用程序的重點放在業務邏輯、延遲服務訪問的保護和送往基礎設施的消息(承載應用程序的運行時容器)上。在這種由基礎設施管理的方法中,附加到設計構件的安全策略將被轉換成特定于平臺的策略 [例如,通過統一建模語言(Unified Modeling Language,UML)模型表示的要求將轉換成 J2EE 部署描述符]。

在由應用程序管理的方法中,安全實現是在應用程序中實現的,必須實現相應的安全調用。即使是由應用程序管理的安全也必須通過 Java 身份驗證和授權服務(Java Authentication and Authorization Service,JAAS)將其安全調用(如 authenticate())轉換成相應的特定于平臺的功能[如 loginContext.login()]。

授權和訪問控制的粒度粗細不等。細粒度訪問(對于解決方案本身)與粗粒度訪問(對于其操作之一)的選擇通常取決于業務和技術考慮。粒度也會受各種因素的影響,包括信息實體的實例(如特定游客的信用帳戶概要信息)、上下文信息,如用戶特征(如旅行社)、時間約束(如從早上九點到下午五點)、訪問目的(如進行旅游預訂的目的)、訪問路徑(例如,內部網請求與外部請求),以及許多其他因素。

可通過定義應用程序角色概括與授權相關的策略,其中的角色是指一組通過其可對特定應用程序資源執行某些操作的權限。例如,旅行應用程序可聲明對 ReservationBean 執行的 view()change() 預訂方法可由 TravelAgent 角色訪問。換句話說,TravelAgent 是由實現方案定義的角色,可以確定可由“旅行社”執行的操作;根據一組用于對各自企業 JavaBean(Enterprise JavaBean,EJB)調用特定方法的權限。在實現階段不大可能定義的是誰擁有 TravelAgent 特權。用戶到角色的指派通常是在部署時開始的,然后會在應用程序的整個生命周期內對其進行管理。清單 1 所示的是用于定義某些基于角色的方法權限的示例代碼。


清單 1. 用于定義某些基于角色的方法權限的代碼
												
														<method-permission>
<role-name>TravelAgent</role-name>
<method>
   <ejb-name>ReservationBean</ejb-name>
<method-permission>
<role-name>TravelAgent</role-name>
<method>
   <ejb-name>ReservationBean</ejb-name>
   <method-name> view</method-name>
   <method-name> change</method-name>
</method>
</method-permission>
			
												
										

在執行某些業務邏輯之前要求提供通過身份驗證的身份信息的應用程序必須從基礎設施中得到該信息。例如,在 J2EE 環境中,運行時會在身份驗證后確定用戶的身份;應用程序可通過 API(如 getCallerPrincipal())檢索此信息。







選擇的靈活性

客戶機運行時有時需要某些對訪問服務本身的要求或約束(包括身份驗證、完整性和機密性要求)。而支持各種客戶機運行時(如瀏覽器客戶機、非瀏覽器客戶機和 PDA 瘦客戶機)可能是令人滿意的。要支持各種客戶機運行時,請發布斷言客戶機運行時必須確保消息機密性,并必須提供用戶身份的證據(用戶 ID/密碼或證書)的策略。身份驗證的策略概括可列出替代選項,如可接受的憑據類型,或所信任的憑據頒發機構。

例如,TravelService Web 服務可聲明其要求某些安全令牌類型的意圖和機密性要求。實現方案可通過描述符支持意圖聲明。工具則可進而生成必要的機器級詳細信息(如 WS-SecurityPolicy 表達式),如清單 2 所示。


清單 2. WS-Security 策略描述符示例
												
														<wsp:Policy>
  <sp:SymmetricBinding>
    <wsp:Policy>
      <sp:ProtectionToken>
        <wsp:Policy>
          <sp:KerberosV5APREQToken
              sp:IncludeToken=".../IncludeToken/Once" />
        </wsp:Policy>
      </sp:ProtectionToken>
      <sp:SignBeforeEncrypting />
      <sp:EncryptSignature />
    </wsp:Policy>
  </sp:SymmetricBinding>
  <sp:SignedParts>
    <sp:Body/>
    <sp:Header
       Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
    />
  </sp:SignedParts>
  <sp:EncryptedParts>
    <sp:Body/>
  </sp:EncryptedParts>
</wsp:Policy>
			
												
										







安全工程

在開發安全解決方案的過程中,安全工程是最佳實踐之一——請遵循定義明確的模式,以使您的應用程序、服務或組件可以完全實現其設計者和用戶的期望。您應該估計每個實現方案構件中固有的風險,對其進行設計和實現以防其暴露在弱點下(例如,高效的內存管理并避免出現隱蔽的通道)。工具支持和代碼評審也有助于將對從中部署解決方案的環境的損害降到最低(或徹底避免)。







總結

SOA 編程模型必須確保每個服務調用都符合對請求者和服務端點均有效的安全策略。安全基礎設施(包括對請求者進行身份驗證和對其授予服務訪問權的能力、基于基本信任模型跨 Web 服務請求傳播安全上下文、審核重要事件,以及有效地保護數據和內容)形成了有助于保護組件和服務的 SOA 環境的結構。所有 SOA 安全的核心都是基于策略的基礎設施和策略的管理。在理想的情況下,SOA 應用程序的重點在于業務邏輯、委派安全策略的實現,以及處理基礎設施的信任關系?;?Web 服務安全規范的 Web 服務安全模型和方法有助于解決保護面向服務的應用程序的難題。

posted on 2006-04-17 04:14 wsdfsdf 閱讀(209) 評論(0)  編輯 收藏 引用 所屬分類: 技術文章

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老巨人导航500精品| 欧美成人精品激情在线观看| 国产精品久久久久久久久久三级| 久久婷婷蜜乳一本欲蜜臀| 久久国产黑丝| 老牛影视一区二区三区| 你懂的一区二区| 欧美激情亚洲综合一区| 欧美日韩一本到| 欧美午夜精品久久久久久人妖| 国产精品wwwwww| 国产日韩精品视频一区二区三区| 国产精品一区二区在线| 国产日韩欧美三区| 亚洲国产成人在线| 亚洲人体大胆视频| 欧美一区二区免费| 蜜桃av久久久亚洲精品| 欧美日韩八区| 国产亚洲欧美日韩精品| 亚洲人精品午夜| 欧美一区在线看| 欧美激情一区二区三区蜜桃视频| 9人人澡人人爽人人精品| 欧美一二三区精品| 欧美国产综合| 国产一区二区激情| 在线亚洲观看| 蜜桃伊人久久| 亚洲先锋成人| 欧美成人国产一区二区| 久久综合电影| 亚洲一区二区伦理| 美女啪啪无遮挡免费久久网站| 亚洲国产精品热久久| 99国产精品久久久久久久久久| 性久久久久久久久| 欧美日韩国产区| 亚洲国产一区二区三区青草影视| 午夜欧美大尺度福利影院在线看| 亚洲国产精品日韩| 久久综合给合久久狠狠狠97色69| 国产精品激情| 亚洲一区二区三区在线观看视频 | 久久一区二区三区国产精品| 野花国产精品入口| 欧美成人精品一区| 精品99视频| 久久精品国产久精国产一老狼 | 香蕉久久精品日日躁夜夜躁| 亚洲人成精品久久久久| 久久另类ts人妖一区二区 | 亚洲精品自在在线观看| 久久一区二区三区国产精品| 亚洲欧美日韩国产中文| 欧美色大人视频| 一本色道久久88精品综合| 欧美成人一区二区三区| 久久视频在线视频| 精品成人一区| 美女免费视频一区| 久久深夜福利| 亚洲人妖在线| 亚洲精品欧美日韩| 欧美日韩一区不卡| 一区二区三区不卡视频在线观看| 91久久精品国产91性色| 欧美精品一区二| 亚洲性感激情| 亚洲欧美另类在线| 国产亚洲综合在线| 久久综合九色99| 另类av导航| 一区二区三区不卡视频在线观看| 一本久久综合亚洲鲁鲁| 国产精品久久久久国产a级| 欧美一级片一区| 欧美一级视频| 亚洲国产一区二区三区a毛片| 亚洲激情精品| 国产精品天美传媒入口| 久久频这里精品99香蕉| 欧美电影免费观看高清完整版| 99国产精品国产精品久久| 亚洲深夜福利| 亚洲国产精品一区二区第一页| 亚洲毛片一区| 国产精品日韩久久久| 久久久噜噜噜久噜久久| 老司机免费视频一区二区三区 | 久久国产天堂福利天堂| 久久国产一二区| 亚洲三级国产| 亚洲欧美欧美一区二区三区| 在线成人激情| 日韩视频一区二区| 国产欧美日韩在线| 欧美激情精品久久久久久变态 | 亚洲国产精选| 亚洲一区在线免费观看| 国内偷自视频区视频综合| 亚洲动漫精品| 国产欧美日韩免费| 亚洲日本黄色| 激情成人亚洲| 中文网丁香综合网| 亚洲国产综合91精品麻豆| 亚洲色在线视频| 亚洲日本中文字幕| 久久成人国产| 亚洲欧美在线看| 欧美精品一区二区三区在线看午夜| 午夜视频在线观看一区| 欧美成在线观看| 久久这里只有精品视频首页| 欧美午夜国产| 亚洲激情精品| 亚洲黄色影片| 欧美伊人久久| 欧美在线视频日韩| 欧美日韩国产丝袜另类| 欧美大片免费| 国产一区二区三区无遮挡| 亚洲图片你懂的| 99国内精品| 欧美大片在线影院| 欧美成人综合在线| 在线不卡中文字幕| 欧美一区二区在线播放| 午夜视频一区二区| 国产精品久久久久久久久果冻传媒 | 亚洲美女区一区| 亚洲精品一区在线观看| 久久久精品午夜少妇| 欧美在线免费视屏| 国产婷婷成人久久av免费高清 | 久久综合婷婷| 久久伊人亚洲| 韩国av一区| 久久精品国产第一区二区三区| 美女视频黄a大片欧美| 亚洲欧美在线另类| 免费高清在线一区| 国产精品人成在线观看免费| **欧美日韩vr在线| 欧美一区日本一区韩国一区| 最新亚洲一区| 亚洲第一福利视频| 久久免费高清视频| 亚洲性感美女99在线| 欧美视频四区| 黄色成人av网| 国产综合欧美| 国内精品伊人久久久久av一坑| 欧美日韩国产综合一区二区| 欧美电影免费观看大全| 欧美伦理91| 国产精品h在线观看| 老司机精品视频网站| 欧美国产成人精品| 久久一区二区三区四区| 欧美影院一区| 欧美精品国产精品| 久久综合国产精品| 欧美在线|欧美| 欧美在线视频免费播放| 久久久久一区| 欧美日韩视频在线一区二区 | 亚欧成人精品| 国产欧美婷婷中文| 亚洲永久网站| 久久黄色影院| 日韩亚洲国产欧美| 亚洲新中文字幕| 国语自产精品视频在线看抢先版结局| 欧美一区二区三区免费观看视频| 国产精品理论片| 欧美福利一区二区三区| 欧美日韩国产色视频| 久久精品国产99精品国产亚洲性色| 久久久久久久综合色一本| 亚洲精品日韩一| 蜜桃久久av| 裸体丰满少妇做受久久99精品| 欧美性理论片在线观看片免费| 免费短视频成人日韩| 国产一区二区精品| 久久se精品一区二区| 99国产精品私拍| 欧美国产日产韩国视频| 久久中文字幕一区| 国内视频一区| 性18欧美另类| 久久资源在线| 在线观看日韩www视频免费 | 亚洲夜晚福利在线观看| 国产精品高潮呻吟| 一区二区国产日产| 欧美中文在线字幕| 国产精品自在欧美一区|