自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談Web服務安全如何保證

安全
當我給出關于Web服務的介紹的時候,不可避免的就會有來自于聽眾的關于安全的問題。最常見的問題是:“你是如何保障Web服務安全的”。通常會跟隨著懷疑的論斷:“Web服務不可能是安全的”。

Web服務安全對于網(wǎng)站運營商來說是至關重要的,但是,記住,今天的Web服務的主體是基于Web之下的授權的技術,我們稱之為HTTP。從而,所有的常見的確保Web安全的應用程序——基本的認證和SSL是最常見的——同Web服務一起工作的很好。

這些安全技術對各種的在線商務事務處理發(fā)揮了令人吃驚的影響已經(jīng)有很多年了。

盡管如此,但是組織所具有的關于基于Web的安全策略的主要問題是通常的解決方法例如SSL有一點稍顯笨拙,因為他們通常確保了整個線路傳輸?shù)膮f(xié)議的安全,而不是只針對在協(xié)議之上傳輸?shù)腟OAP消息的。此外,對許多基于信號的集成項目,在信息到達他們的目標終點之前,一些中間步驟是必須的,同時傳訟露別的安全策略讓這些信息在各個中間檢查點并不安全。

為了獲得更好的控制級別和防止中間的安全問題,各種組織所作的基于SOAP的信息集成通常想要的都是在信息層確保安全而不是在傳輸層。這所意味的是信號自身確保它的安全,而不依賴于傳送。當安全只限于信息的時候一些事情變得很顯然。首先,通常為大多數(shù)Web 服務所提供的SSL能力會被我稱之為信號安全的東西替代,而信號安全也將成為為所有的客戶和服務方交互安全的信號的必須。第二,安全信息將會被信號自己攜帶。第三,除非中間或者最終節(jié)點擁有正確的安全基礎構造同時是可信任的,否則信號會仍然保持安全并不可讀取,然后被往前轉遞到下一個節(jié)點。

Web 服務安全:WS-Security規(guī)范

你如何確保信號的安全,而不是傳輸?shù)陌踩?答案在于OASIS標準。WS-Security,作為一個所有工業(yè)認可的推薦在2004年4月發(fā)布。WS-Security所定義的是一個把三層安全策略加到SOAP信號中去的機制。

認證標志:WS-Security認證標志使得客戶可以以一種標準的方式發(fā)送包含在SOAP消息頭中的用戶名和密碼或用于認證目的的X.509認證。盡管SAML和Kerberos標志普遍使用,但是關于這些標志的WS-Security規(guī)范也還沒有發(fā)布。XML加密:WS-Security被使用在W3C的 XML加密標準,從而使得SOAP信號體和它的組成部分被加密以確保機密性。通常的,不同的加密算法都被支持——在Oracle Application Server 10g Release 10.1.3中,被支持的算法是3DES, AES-128和AES-256。

XML數(shù)字簽名:WS-Security被使用在W3C's XML數(shù)字簽名標準中,從而使得SOAP消息可以被數(shù)字簽名確保消息的整體性。通常的,簽名時一個有消息本身的內容計算產(chǎn)生的。如果消息在發(fā)送途中被更改,數(shù)字簽名就不可用了。Oracle Application Server支持DSA-SHA1, HMAC-SHA1, RSA-SHA1, 和 RSA-MD5算法。

配置Web服務的服務端

通常的當開發(fā)者看到WS-Security的三個組件,一些關于他們是如何在特定的應用程序中協(xié)調處理認證,加密,和數(shù)字簽名的步驟的疑問也就產(chǎn)生了。

幸運的是,絕大多數(shù)供應商例如Oracle正在實現(xiàn)WS-Security為一個發(fā)布的機制,從而可以把這個機制應用于新的和現(xiàn)有的Web服務?!±缭贠racle JDeveloper 10g Release 10.1.3中,你只需要簡單的再Web服務節(jié)點上點擊,選擇安全Web服務,然后跟隨走完一個簡單的向導。下一是Oracle JDeveloper.中的一個WS-Security的基本工具的運行時候的外觀的一個屏幕截下。

用Oracle JDeveloper 10g Release 10.1.3保護Web服務安全


為了提供一個簡單的在運轉的WS-Security的用況,我用下一中所提供的認證的屬性——用戶名,密碼認證標志——并使用getEmpSalary方法把他們應用到HRService Web服務

在我點擊了安全向導上的OK之后,列表一中的Oracle-specific 描述符文件就產(chǎn)生了(用最小的命名空間表示)。注意到WS-Security運行時能力被元素使能。服務端對用戶名和密碼口令認證的需要被元素定義。

代碼列表一:oracle-webservices.xml.中的WS-Security服務器配置

<oracle-webservices><webservice-description name="HRService"><port-component name="HRServicePort"><runtime enabled="security"><security><inbound><verify-username-token password-type="Plain Text"require-nonce="false"require-created="false"/></inbound></security></runtime><operations><operation name="getEmpSalary"input="{http://server.omag.com}getEmpSalaryElement"/></operations></port-component></webservice-description></oracle-webservices>一旦這些配置被布置在一個一般的Web服務Ear文件。在Oracle應用程序服務器端運行時的管理配置文件wsmgmt .xml會被這個信息更新。我在上個月的Web服務管理專欄中用下表的方式解釋了這個過程。在布置以后,這個Web服務也就可以用WS-Security的用戶名密碼標志來測試了。

配置Web服務客戶端

下一步是決定如何從來自于Web服務客戶端獲得用戶名和密碼的WS-Security標志放入SOAP信息中。通常的Web服務工具包提供一個API或者發(fā)布的機制去完成這個功能。

基于信號層安全的Web服務安全


由于Oracle應用服務器所提供的WS-Security實現(xiàn)的對外公布的特點,在服務器一端存在一個定義了WS-Security屬性的配置文件,在客戶一端要求存在一個該配置文件的鏡像,我們要意識到這一點是很重要的。從而Web 服務的客戶端運行時決定采用適當?shù)陌踩O置應用于輸出請求和輸入響應的信號。為了配置這個信息,Oracle JDeveloper在Web服務的客戶端提供了一個如下一所示的向導的鏡像。這兩個向導的主要區(qū)別是在于客戶端的向導提供了獲取用戶姓名和密碼口令的能力,而服務器端的向導則沒有提供。列表二提供了所產(chǎn)生的客戶端配置。這只是可選的,因為很多開發(fā)者并不愿意把這些信息嵌入到配置文件中去(雖然這對測試是非常有用的)。Oracle應用服務器提供了一種簡單的客戶API,用以設置客戶的Web服務的用戶名和密碼口令標志。

當我運行生成的客戶端,列表三種的信息就生成了,除去雇員的薪金請求,這些信號包含了信號頭中包含的用戶名和密碼口令標志,還包含了支持了領先于標準的WS-Security wsse命名空間的標準模式的WS-Security參考。

結論

同很多其他的稱之為WS—*的標準,通常都有關于WS-Security在異構環(huán)境下工作的協(xié)調性的擔憂。在我的例子當中,我選擇了最簡單的可能性的情況,但是在具有更復雜的認證標志,加密和數(shù)字簽名的實際文件中,協(xié)調性立刻變得極為重要。

業(yè)界是非常清楚這個問題的,同時中立公司論壇例如Web服務協(xié)調性組織(WS-I)已經(jīng)開始工作,該組織由主要的廠商參與,其中包括Oracle,從而確保Oracle, IBM, Microsoft, Sun, 和BEA 所實現(xiàn)的WS-Security實現(xiàn)可以共同操作的。

這些努力能夠帶來一個名叫Basic Security Profile的如何使用WS-Security的輪廓或者說是一個推薦的***實踐。它將會補充其他的由WS-I發(fā)布的關鍵的協(xié)調性藍本,Basic Profile 1.1。Basic Profile 1.1關注于SOAP, UDDI, 和 WSDL的***實踐。

【編輯推薦】

  1. Web專用網(wǎng)站服務器的安全設置
  2. 怎樣進行路由器的安全設置
  3. 安全設置策略及自帶防火墻介紹
  4. 企業(yè)如何對員工進行網(wǎng)絡安全培訓
  5. 企業(yè)如何在復雜環(huán)境中降低安全風險

 

責任編輯:張啟峰 來源: 飛諾網(wǎng)
相關推薦

2010-11-23 09:26:57

2011-03-31 09:40:46

2011-02-13 14:36:35

2013-02-18 16:12:55

2018-06-25 09:48:00

數(shù)據(jù)安全云服務

2017-12-21 07:38:19

2009-03-04 06:37:00

2014-06-11 09:36:36

云存儲數(shù)據(jù)安全

2015-03-24 09:22:54

2011-09-23 10:13:43

2024-06-17 00:02:00

線程安全HashMapJDK 1.7

2012-03-20 10:28:43

2010-06-02 13:29:55

2024-03-06 08:36:36

2021-05-26 08:49:15

API接口安全

2023-01-26 02:07:51

HashSet線程安全

2009-07-09 10:25:05

Servlet的Web

2009-07-28 17:34:28

ASP.NET XML

2010-09-06 09:27:54

社交網(wǎng)絡

2010-01-06 09:19:45

點贊
收藏

51CTO技術棧公眾號