亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于加密技術的Web服務安全方法

        2011-02-09 01:56:58全立新
        制造業(yè)自動化 2011年4期
        關鍵詞:服務

        全立新

        (湖南財政經濟學院 信息管理系,長沙 410205)

        0 引言

        Web服務[1]技術已成為新一代計算技術的導向,在電子商務、系統集成等多個領域發(fā)揮著日益重要的作業(yè)。然而作為一種新興技術,Web服務面臨著許多挑戰(zhàn)。Web服務同CORBA、COM+、RMI這些分布式對象系統相比,在安全、事務處理能力、可管理能力等方面有所欠缺,尤其安全問題亟待解決[2]。

        考察現有的一些安全技術[3],1)防火墻:當用戶想要把訪問限定在一個專用網絡中的計算機上時,則可以使用防火墻技術,在一定程度上限制Web服務應用范圍;2)SSL(Secure Sockets Layer,安全套接字層):雖然SSL可以有效的建立安全的通信,但是它會對性能造成很大的影響。3)VPN(Virtual Private Networks,虛擬專用網絡):VPN可在共享的或公共的網絡中建立一個專用的網絡環(huán)境,是一種端到端的連接,但需要花費較長的時間建立連接。4)基本身份驗證:使用明文(采用Base64編碼)直接傳送用戶名和密碼,任何人都可以查看其內容,不太安全。5)SSL上的基本身份驗證:這種方式在安全的SSL連接中傳送用戶名和密碼,杜絕了密碼被截獲和破解的危險,它是安全的。但不足在于使用SSL會降低性能。6)摘要式身份驗證:增強了網絡發(fā)送用戶憑據的安全性。但是它依賴于HTTPI.1協議,并不是被所有的瀏覽器支持。7)集成Windows身份驗證:這種方式是安全的。但它要求用戶和Web服務器都在同一個域中。8)客戶證書方式:這種方式使用SSL來傳送客戶證書,它需要每一個客戶都具有一個證書。由于使用SSL,所以會對性能造成影響。

        綜觀上述基于基礎結構、認證和證書的安全技術都或多或少存在一些局限性,它們都依賴于操作系統和HTTP協議。SOAP是一種消息格式,在現實環(huán)境中可能要穿越多種不同的協議,為了保證消息只能被發(fā)送者和接收者閱讀,本文在結合WS-Security[4]規(guī)范基礎上,給出一種使用DES[5]和RSA[6]技術的Web服務安全策略。

        1 工作原理

        SOAP規(guī)范允許在SOAP消息的頭消息之中傳輸SOAP消息的元數據。根據這一特性,結合WS-Security規(guī)范,給出本文基于加密技術的Web服務安全方法的原理。

        具體原理是:在客戶應用端隨機產生DES密鑰,在它與Web服務端之間傳遞的需加密的信息,用DES進行加密和解密;在Web服務端隨機產生RSA密鑰對,用公鑰來加密DES密碼,以便在Web服務端獲取客戶應用端的DES密碼;通過定義包含Web服務端RSA公鑰、用RSA加密的客戶應用端DES密碼和需要加密的信息的SOAP頭數據結構(類),在Web服務端和客戶應用端之間傳遞SAOP頭對象,實現信息安全傳遞過程的目的。

        2 Web服務安全模型

        根據上述原理,本文給出了一種基于加密技術的Web服務安全模型,如圖1所示。

        圖1 基于加密技術Web服務的安全模型

        當客戶應用需使用Web服務時,首先隨機產生DES密碼,其次,從Web服務端獲取SOAP頭對象(在每次獲取SOAP頭對象時,Web服務端都會隨機產生一對RSA密鑰對),用SAOP頭對象中RSA公鑰加密DES密鑰,用DES密鑰加密需加密信息,并把這些加密信息存入SOAP頭對象中,再次,把SOAP頭對象傳遞到Web服務應用端,用RSA私鑰解密SOAP中已加密DES密鑰,這樣,就可以在Web服務應用端用DES密鑰解密客戶應用傳遞加密的信息和加密需傳遞給客戶應用的信息。

        3 安全策略實證

        為了驗證本文給出的安全策略,我們設計一個示例。即從客戶應用端傳一個數據,通過DES加密后傳遞到Web服務端,在Web服務端用DES解密后,然后,再用DES加密并傳遞到客戶應用端,在客戶應用端用DES解密后與原數據比較是否一致。在這個過程中,客戶應用端與Web服務端之間傳遞的數據和DES密鑰是加密,且是一個來回一次密。我們用C#.net書寫代碼,用System.Security.Cryptography[5]創(chuàng)建DES和RSA密碼,關鍵代碼如下:

        3.1 用戶用戶信息頭類(UserInfo)定義

        public class UserInfo: System.Web.Services.Protocols.SoapHeader

        {public byte[] name; //加密信息

        public string RSAPublicKey; //RSA公鑰public byte[] DESKey; //加密的DESKey向量public byte[] DESIV; //加密的DESIV向量}

        3.2 web服務端關鍵代碼

        web服務端負責隨機產生RSA密鑰,web服務“getUserInfo”,它的功能是解密DES密鑰、已加密數據和用DES加密要回傳給客戶端的數據,關鍵代碼如下:

        public UserInfo uinfo;

        //產生RSA加密對象,也就隨機產生了RSA密鑰對

        RSACryptoServiceProvider rsa;

        uinfo.RSAPublicKey = rsa.ToXmlString(true);

        [WebMethod] public string getUserInfo(UserInfo uinfo)

        {…

        RSACryptoServiceProvider rsa;

        DESCryptoServiceProvider des;

        //用XML字符串還原RDS解密對象

        rsa.FromXmlString(uinfo.RSAPublicKey);

        //用RSA私鑰解密頭對象中已加密DES的向量

        byte[]_DESKey=rsa.Decrypt(uinfo.DESKey,false);

        byte[]_DESIV=rsa.Decrypt(uinfo.DESKey,false);

        //用解密的KEY和IV向量對當前DES對象賦值

        des.Key=_DESKey; des.IV=_DESIV;

        //對加密信息進行解密

        ICryptoTransform ict=des.CreateDecryptor();

        byte[] ret=ict.TransformFinalBlock();

        3.3 客戶應用端關鍵代碼

        demo.Service aa=new Service();

        //獲取SOAP頭對象實例

        demo.UserInfo uu=aa.getSOAPHeader();

        //還原Web Services服務器端的RSA對象

        RSACryptoServiceProvider rsa;

        rsa.FromXmlString(uu.RSAPublicKey);

        //定義DES加密對象,獲取DES密鑰

        DESCryptoServiceProvider des;

        des.GenerateKey();des.GenerateIV();

        //用RSA加密DES密鑰

        uu.DESKey=rsa.Encrypt(des.Key, false);

        uu.DESIV=rsa.Encrypt(des.IV, false);

        //用DES密鑰加密需傳輸的數據中

        ICryptoTransform ict=des.CreateEncryptor();

        uu.name=ict.TransformFinalBlock();

        //調用Web服務并獲取返回值

        aa.getUserInfo(uu);

        //信息驗證

        我們在這里只演示了傳遞一個需加密的數據。如果讀者要傳遞多個加密數據,只需要再擴充SOAP頭的數據結構,至于解密和加密代碼同上,受篇幅限制,不再贅述。

        4 結束語

        我們在普通PC機,Windows XP Professional操作系統,Visual Stdio2005開發(fā)環(huán)境,在IIS5.0服務器成功地運行了上述案例,驗證了本文給出的安全方案是可行和有效的。

        本文給出的Web服務安全方案結合了WS—Security規(guī)范,兼容性好;在客戶應用與Web服務之間傳遞數據時,運用了混合加密方式且一次一密,安全系數很高;同時,該方案無需借用第三方組件,降低軟件的開發(fā)成本。可以說本文的方案是一個有效,可行,低成本的且容易實現的方案。

        [1] Web Services[EB/OL].http://www.webservices.org/index.php/article/articleview 2010-11-12.

        [2] 顧寧, 劉家茂,柴曉路.Web Services原理與研發(fā)實踐[M],北京: 機械工業(yè)出版社, 2006:155-175.

        [3] 全立新.Web服務安全策略與技術探討[J], 廣州: 現代計算機, 2010(9): 104-107.

        [4] WS-Security[EB/OL]. http://www.w3.org/standards/xml/security 2010-11-21.

        [5] Cryptography[EB/OL]. http://msdn.microsoft.com/library/system. security. cryptography.aspx 2010-11-21.

        猜你喜歡
        服務
        自助取卡服務
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        高等教育為誰服務:演變與啟示
        招行30年:從“滿意服務”到“感動服務”
        商周刊(2017年9期)2017-08-22 02:57:56
        人人妻人人添人人爽日韩欧美| 日本国产亚洲一区二区| 肉色欧美久久久久久久免费看| 亚洲精品中文字幕无码蜜桃 | 国产欧美一区二区精品久久久| 少妇饥渴xxhd麻豆xxhd骆驼| 午夜影院91| 久久精品国产亚洲av夜夜| 伦伦影院午夜理论片| 青青草视频免费观看| 国产精品久久久久孕妇| 精品人妻日韩中文字幕| 亚洲av永久无码精品古装片| 国产精品免费久久久久影院仙踪林| 一区二区视频观看在线| av中文字幕性女高清在线| 色综合久久久无码中文字幕| 99re热这里只有精品最新| 久久天天躁狠狠躁夜夜中文字幕| 男女搞基视频免费网站| 中文字字幕人妻中文| 精品无码国产污污污免费网站| 国产精品自拍首页在线观看| 人妻少妇精品视频一区二区三| 亚洲国产成人片在线观看| 亚洲精品二区中文字幕| 粉嫩的18在线观看极品精品| 日本护士xxxxhd少妇| 洗澡被公强奷30分钟视频| 日韩精品视频在线观看免费| 一区二区三区日本高清| 丰满人妻一区二区三区52| 无套无码孕妇啪啪| 黑人巨大av在线播放无码| 国产成人精品麻豆| 久久精品国产亚洲av天美| 中文字幕无码av波多野吉衣| 伊人婷婷在线| 久久国产精品懂色av| 国产freesexvideos中国麻豆| 国产乱理伦片在线观看|