alancxx

          ------簡單就是美

          電子商務安全與支付技術

          電子商務的安全需求

          信息安全需求、信用安全需求、管理安全需求和法律保障安全需求
          1)信息的保密性;
          2)信息的完整性;
          3)信息的不可否認性;
          4)交易者身份的真實性;
          5)系統的可靠性、可用性、可控性

          信息的保密性技術

          1、加密/解密技術
          1) 加密/解密技術是一種用來防止信息泄露的技術。電子商務中的信息在通過Internet傳送之前,為了防止信息的內容被他人有意或無意的知曉,需要將它的內容通過一定的方法轉變成別人看不懂的信息,這個過程就是加密(Encription);而將看不懂的信息再轉變還原成原始信息的過程稱為解密(Decription)。這里,加密之前的信息被稱為明文(plaintext),加密之后的內容稱為密文,加密通常要采用一些算法(對應著加密/解密的程序),而這些算法需要用到不同的參數,這些不同的參數稱作密鑰,密鑰空間是所有密鑰的集合。
          2)  類型
          按照歷史發展階段::手工加密、機械加密、電子機內亂加密、計算機加密
          按照保密程度:理論上保密的加密、實際上保密的加密、不保密的加密三種類型
          按照密鑰使用方式:對稱加密和非對稱加密

           
           i ) 對稱加密
          也叫共享密鑰加密或機密密鑰加密,收發雙方擁有相同的單個密鑰,這把密鑰既可用于加密,也可用于解密,即加密和解密使用的是相同的一把密鑰,此密鑰又稱為對稱密鑰或會話密鑰。
          常見的對稱加密方法有DES、3DES、AES、BASE64等:
          DES(Data Encryption Standard)
          算法輸入的是64比特的明文,在64比特密鑰的控制下產生64比特的密文;反之輸入64比特的密文,輸出64比特的明文。64比特 的密鑰中含有8個比特的奇偶校驗位,所以實際有效密鑰長度為56比特 。
          3DES:
          是DES算法擴展其密鑰長度的一種方法,可使加密密鑰長度擴展到128比特(實際有效位為112比特)或192比特(實際有效位為168比特)。其基本原理是將128比特 的密鑰分為64比特的兩組,對明文多次進行普通的DES加解密操作,從而增強加密強度。
          AES(Advanced Encryption Standard):AES處理以128bit數據塊為單位的對稱密鑰加密算法,可以用長為128、192和256位的密鑰加密。
          Base64 加密(編碼):
          先將要編碼的信息內容(明文)以二進制流的形式排成一行,從高位開始,每6位為一個單位進行排列。例如,信息內容為字符流“ABCD”,在計算機中以ASCII碼進行編碼,因此對應的二進制流為: 
                01000001,01000010,01000011,01000100
          上述二進制流以6位為單位重新排列,結果為:
                010000,010100,001001,000011,010001,00
          由于末尾一組不足6位,在不足六位的后面補零,組成6位,結果為:
                010000,010100,001001,000011,010001,000000
          根據符號到數字的映射表,把6位二進制流對應的數值分別轉化成相應的數字,重新整理成一個字符流

          規定編碼的原始字符流字節數應是3的整數倍,原始字符流“ABCD”還需要補足兩個字節,總的字節數才能被3整除,為此后面需補上兩個“=”字符,所以原始字符流“ABCD”的最終Base64編碼為:
           QUJDRA==
          例: 使用Openssl軟件包,對文件進行BASE64編碼與解碼
          openssl enc -base64 -d -in 026h23fbase64.txt  -out 026h23fplain.txt
           ii ) 非對稱加密
          非對稱加密方法中使用一對密鑰:公鑰(public key)和私鑰(private key)組合。用公鑰加密的密文只能用私鑰解密,反之,用私鑰加密的密文只能用公鑰解密。在操作過程中,公鑰可向外界發布,讓其他人知道,私鑰則自己保存,只有自己知道。
          RSA:
          由Ron Rivest,Adi Shamir和Leonard Adleman三人首創,是一種公開密鑰加密方法;
          它的原理是:先由密鑰管理中心產生一對公鑰和私鑰,稱為密鑰對。產生方法如下:先產生兩個足夠大的強質數p、q??傻胮與q的乘積為 n=p×q。再由p和q算出另一個數z=(p-1)×(q-1),然后再選取一個與z互素的奇數b,稱b為公開指數;從這個b值可以找出另一個值a,并能滿足b×a=1 (mod z)條件。由此而得到的兩組數(n,b)和(p,q,a)分別被稱為公開密鑰和秘密密鑰,或簡稱公鑰和私鑰。若對明文信息x(0<=x<n)加密,其加密算法是y=E(x)=xb (mod n) ,而解密算法是D(y)=ya (mod n)。
          RSA算法基于大整數因子分解這一著名的數學難題
          RSA特點:
          優點:能適應網絡的開放性要求,密鑰管理簡單,并且可方便地實現數字簽名和身份認證等功能,是目前電子商務等技術的核心基礎。
          缺點:算法復雜,加密數據的速度和效率較低,只能對小批量的數據進行加密。
          在實際應用中,通常將對稱加密算法和非對稱加密算法結合使用,利用對稱加密算法來進行大容量數據的加密,而采用RSA等非對稱加密算法來傳遞對稱加密算法所使用的密鑰,通過這種方法可以有效地提高加密的效率并能簡化對密鑰的管理。
          例: 使用Openssl軟件,產生一對RSA非對稱密鑰(公鑰與私鑰),并分別用它們來對某個文件進行加密和解密。
          openssl genrsa -des3 -out myrsaCA.key 1024,將會產生一個RSA私鑰,私鑰放在myrsaCA.key文件中 ;
          用公鑰加密的文件,以后需要用私鑰來解密(加密模式):
          openssl rsautl -encrypt -in 026h23f.txt -inkey myrsaCA.key -out pub026h23f.enc 
          openssl rsautl -decrypt -in pub026h23f.enc -inkey myrsaCA.key -out newpub026h23f.txt
          用私鑰加密的文件,以后需要用公鑰來解密(簽名模式):
          openssl rsautl -sign -in 026h23f.txt -inkey myrsaCA.key -out pri026h23f.enc
          openssl rsautl -verify -in pri026h23f.enc -inkey myrsaCA.key -out newpri026h23f.txt
           
          防火墻技術

          1、實現保密的另外一種方法是進行存取訪問控制,對敏感數據的訪問實行身份驗證,具備合法身份的允許其訪問,不合法身份的禁止其訪問,放火墻技術正是為實現這一目的而產生的。
          2、“防火墻”是一種形象的說法, 其實它是一種由計算機硬件和軟件的組合, 使互聯網與內部網之間建立起一個安全網關( scurity gateway), 從而保護內部網免受非法用戶的侵入,它其實就是一個把互聯網與內部網(通常這局域網或城域網)隔開的屏障

          類型
          1)包過濾型:
          包過濾型防火墻可以動態檢查通過防火墻的TCP/IP報文頭中的報文類型、源IP地址、目標IP地址、源端口號等信息,與預先保存在防火墻中的清單進行對照,按預定的安全策略決定哪些報文可以通過、哪些報文不可以通過。
          2)應用網關型:
          使用代理技術,在內部網與外部網之間建立一個單獨的子網,該子網有一個代理主機,通過路由器和網關分別與內、外網連接,代理主機對外部和內部用戶的網絡服務請求進行認證,對于合法用戶的服務請求,代理主機則連接內部網與外部網,自己作為通信的中介,外部用戶只能獲得經過代理的內部網服務,從而保護內部網絡資源不受侵害。

          數據完整性技術

          要保證數據的完整性,技術上可以采用信息摘要(數字指紋)的方法或者采用數字簽名的方法;
          數字摘要:
          采用單向Hash函數(如SHA,MD5等)對要傳送的信息內容進行某種變換運算,得到固定長度的摘要信息

          例: 使用Openssl軟件,對某個文件產生數字摘要 。
          openssl  dgst -md5  -out  026h23f.md5  026h23f.txt

          不可否認技術

          要達到不可否認的目的,可以采用數字簽名和數字時間戳等技術 ;
          數字簽名

          例: 使用Openssl軟件,對某個文件產生的數字摘要進行簽名,并驗證簽名。
          openssl  dgst -md5  -out  026h23f.sign  -sign  026h23f.key   026h23f.txt
          openssl  dgst -md5  -signature  026h23f.sign  -prverify  026h23f.key   026h23f.txt
          數字時間戳


          身份認證技術

          需要借助于數字證書的技術,設立安全認證中心,制定一系列的安全協議等來實現。
          1) 數字證書
          數字證書(Digital Certificate)是一種權威性的電子文檔,提供了一種在Internet上驗證身份的方式,其作用類似于司機的駕駛執照或日常生活中的身份證。它是利用數字簽名技術由一個權威機構—CA證書認證(Certificate Authority)中心簽發。
          數字證書概念最早由MIT的Kohnfelder于1978年在他的本科畢業論文中提出,內容是通過數字簽名來保護命名的證書(名字/密鑰對),從而可將公鑰分散存放和訪問,克服將公鑰集中存放到一個數據庫中而帶來的訪問性能問題,因此,數字證書除了可用于網上證明交易者的身份,還有另外一個作用,可以利用它來分發交易者的公鑰。
          2) 數字證書頒發過程
          用戶向注冊中心RA提出申請,注冊中心首先為用戶產生密鑰對,然后生成一個稱為csr(數字證書請求)的文件,內含公鑰及部分用戶身份信息;認證中心CA收到RA的csr文件后,將執行一些必要的核實步驟,以確信請求是真實的,然后進行簽名,生成數字證書。這樣該證書內包含有用戶的個人信息和他的公鑰信息,同時還附有認證中心的簽名信息。
          數字證書類型
          按用途:個人數字證書、服務器數字證書、代碼簽名證書;
          按格式:X.509、 PGP、 SDSI/SPKI、 X9.59(AADS)、 AC等類型的證書;
          按協議:SSL證書(服務于銀行對企業或企業對企業的電子商務活動)、SET證書(服務于持卡消費、網上購物)等。
          X.509數字證書的數據結構

          3) 認證中心
          認證中心CA(Certificate Authority),作為電子交易中受信任的第三方,負責為電子商務環境中各個實體頒發數字證書,以證明各實體身份的真實性,并負責在交易中檢驗和管理證書 。
          CA認證中心的功能主要有:證書發放、證書更新、證書撤銷和證書驗證。
          具體為:
          接收驗證用戶數字證書的申請。
          確定是否接受用戶數字證書的申請,即證書的審批。
          向申請者頒發(或拒絕頒發)數字證書。
          接收、處理用戶的數字證書更新請求。
          接收用戶數字證書的查詢、撤銷。
          產生和發布證書的有效期。
          數字證書的歸檔。
          密鑰歸檔。
          歷史數據歸檔。
          VeriSign 是最大的公共 CA ,中國數字認證網、中國商務在線
          4) 數字證書的申請與應用
          首先在認證中心的網站上下載并安裝認證中心的根證書(所謂根證書,是指認證中心自己為自己頒發的數字證書);然后填寫相關的申請表格,提交相關材料,提出申請,認證中心收到申請后,將為用戶生成一個臨時的證書,并將證書的序列號返回給用戶;接下來,認證中心對用戶身份進行仔細核查,核查通過后將為用戶頒發由自己簽過名的正式數字證書,用戶得到此證書后就可以進行譬如對電子郵件進行加密等操作了 。
          例: 利用Openssl軟件,為用戶頒發數字證書

          安全協議

          常用的安全協議:
          安全套接層協議、安全電子交易協議、安全超文本傳輸協議、安全多媒體Internet郵件擴展協議等 。
          安全套接層協議(SSL,Secure Sockets Layer)
          SSL安全協議最初是由Netscape Communication公司設計開發;
          SSL安全協議主要提供三方面的服務:
          一是用戶和服務器的合法性認證;
          二是加密數據以隱藏被傳送的數據;
          三是保護數據的完整性。
          安全套接層協議的通信過程 :
          接通階段:客戶通過網絡向服務商打招呼,服務商回應;  
          密碼交換階段:客戶與服務器之間交換雙方認可的密碼,一般選用RSA密碼算法,也有的選用Diffie-Hellmanf和Fortezza-KEA密碼算法;  
          會談密碼階段:客戶與服務商間產生彼此交談的會談密碼;  
          檢驗階段:檢驗服務商取得的密碼;  
          客戶認證階段:驗證客戶的可信度;  
          ……加密資料傳送……
          結束階段,客戶與服務商之間相互交換結束的信息
          安全套接層協議的缺點 :
          i )
          SSL協議運行的基點是商家對客戶信息保密的承諾。但在上述流程中我們也可以注意到,SSL協議有利于商家而不利于客戶。客戶的信息首先傳到商家,商家閱讀后再傳至銀行,這樣,客戶資料的安全性便受到威脅。
          商家認證客戶是必要的,但整個過程中,缺少了客戶對商家的認證。在電子商務的開始階段,由于參與電子商務的公司大都是一些大公司,信譽較高,這個問題沒有引起人們的重視。隨著電子商務參與的廠商迅速增加,對廠商的認證問題越來越突出,SSL協議的缺點完全暴露出來。
          安全電子交易協議(SET,Secure Electronic Transaction)
          ii ) 為了克服SSL安全協議的缺點,滿足電子交易持續不斷地增加的安全要求,為了達到交易安全及合乎成本效益的市場要求,VISA國際組織及其它公司如Master Card、Micro Soft、IBM等共同制定了安全電子交易協議。這是一個為在線交易而設立的一個開放的、以電子貨幣為基礎的電子付款系統規范,它采用公鑰密碼體制和X.509數字證書標準,主要應用于BtoC模式中保障支付信息的安全性;
          SET在保留對客戶信用卡認證的前提下,又增加了對商家身份的認證 (雙重簽名);
          SET協議比SSL協議復雜 。
          安全電子交易協議要達到的目標
          保證電子商務參與者信息的相互隔離??蛻舻馁Y料加密或打包后邊過商家到達銀行,但是商家不能看到客戶的賬戶和密碼信息;  
          保證信息在因特網上安全傳輸,防止數據被黑客或被內部人員竊取;  
          解決多方認證問題,不僅要對消費者的信用卡認證,而且要對在線商店的信譽程度認證,同時還有消費者、在線商店與銀行間的認證;  
          保證了網上交易的實時性,使所有的支付過程都是在線的;  
          規范協議和消息格式,促使不同廠家開發的軟件具有兼容性和互操作功能,并且可以運行在不同的硬件和操作系統平臺上。   
          SET安全協議的工作原理主要包括以下7個步驟:  
          消費者利用已有的計算機通過因特網選定物品,并下電子訂單;  
          通過電子商務服務器與網上商場聯系,網上商場做出應答,告訴消費者的訂單的相關情況;  
          消費者選擇付款方式,確認訂單,簽發付款指令(此時SET介入);  
          在SET中,消費者必須對定單和付款指令進行數字簽名,同時利用雙重簽名技術保證商家看不到消費者的賬號信息;  
          在線商店接受定單后,向消費者所在銀行請求支付認可,信息通過支付網關到收單銀行,再到電子貨幣發行公司確認,批準交易后,返回確認信息給在線商店;  
          在線商店發送定單確認信息給消費者,消費者端軟件可記錄交易日志,以備將來查詢;  
          在線商店發送貨物或提供服務,并通知收單銀行將錢從消費者的賬號轉移到商店賬號,或通知發卡銀行請求支付。

          其他安全協議

          安全超文本傳輸協議,即S-HTTP:基于SSL,通過密鑰加密技術,保障了Web站點上信息的安全,為Web文檔提供完整性、鑒別、不可抵賴和機密性等安全措施。支持S-HTTP協議的網站URL以shttp://標識開始。
          安全多媒體Internet郵件擴展協議(S/MIME):用于安全地傳輸電子郵件 

          PKI技術

          PKI體系結構采用證書來管理公鑰,通過第三方的可信機構CA,把用戶的公鑰和用戶的其他標識信息(如名稱、e-mail、身份證號等)捆綁在一起,在Internet網上驗證用戶的身份;同時,在PKI體系結構中,把公鑰密碼和對稱密碼結合起來,以實現密鑰的自動管理,保證網上數據的機密性、完整性。
          廣義上,所有提供公鑰加密和數字簽名服務的系統,都可叫做PKI系統 。
          狹義上,符合PKCS(公開鑰密碼標準,public-Key cryptography Standard)的系統。典型、完整、有效的PKI應用系統至少應具有以下部分: 公鑰密碼證書管理、黑名單的發布和管理、密鑰的備份和恢復、自動更新密鑰、自動管理歷史密鑰、支持交叉認證。

          思考:

          電子商務的安全需求有哪些?為保障安全,各采用什么技術?
          什么是信息安全?其安全保障體系有哪幾方面?
          數據完整、不可否認的含義是什么?
          現代加密技術的種類有哪些?請用Openssl軟件對某個文件進行加密。
          什么是對稱加密?什么是非對稱加密?常見的對稱加密與非對稱加密算法有哪幾種?
          對稱加密和非對稱加密的優缺點各是什么?
          什么是數字簽名?數字簽名的作用是什么?寫出數字簽名的過程。
          什么是數字證書?數字證書的頒發一般有哪些過程?
          數字證書的作用是什么?CA的作用是什么?試用Openssl給某個用戶頒發一份證書。
          Openssl命令中與加密有關的命令有哪些?與證書生成有關的命令有哪些?
          常見的安全協議有哪些?試比較SSL協議和SET協議。
          SSL協議有那些缺點?
          上網申請一份數字證書,并利用此證書給某人發一封簽名的電子郵件。

          posted on 2011-02-12 13:34 蜂鳥 閱讀(740) 評論(0)  編輯  收藏 所屬分類: Security

          公告

           掌握了XML就掌握了未來!

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          常用鏈接

          留言簿

          隨筆檔案(1)

          文章分類(17)

          文章檔案(17)

          搜索

          最新評論

          主站蜘蛛池模板: 岳普湖县| 枞阳县| 拜城县| 万全县| 新宾| 绥棱县| 德钦县| 常宁市| 甘孜| 西青区| 南昌县| 南城县| 揭东县| 清远市| 惠州市| 达孜县| 吉首市| 林州市| 原阳县| 锡林郭勒盟| 武陟县| 横峰县| 手机| 马龙县| 寻乌县| 葵青区| 永康市| 景洪市| 浦城县| 泽普县| 信阳市| 华阴市| 化州市| 赤水市| 明溪县| 淮滨县| 林州市| 原阳县| 新龙县| 汶川县| 紫阳县|