前言:本站為你精心整理了電子商務安全技術范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
1.引言:
對我國來說,電子商務尚是一個機遇和挑戰并存的新領域,這種挑戰在很大程度上來源于對有關安全技術的信賴。在開放的網絡(如Internet)上處理交易,如何保證傳輸數據的安全成為電子商務能否普及最重要的因素之一。
2.電子商務對安全的要求及一般性對策
歸納用戶對電子商務活動安全性的需求,以及可使用的網絡安全措施主要包括如下幾個方面。
⑴如何確定通信中的貿易伙伴的真實性,常用的處理技術是身份認證,依賴某個可信賴的機構(認證中心-CA)發放證書,雙方交換信息之前通過CA獲取對方的證書,并以此識別對方。
⑵如何保證電子單證的秘密性,防范電子單證的內容被第三方讀取;常用的處理技術是數據加密和解密。常見的加密技術包括對稱密鑰加密技術(典型的加密算法包括DES、TripleDES、IDEA、RC4和RC5)和非對稱密鑰加密技術(典型的加密算法為RSA、SEEK、PGP和EU等)。
⑶如何保證被傳輸的業務單證不會丟失,或者發送方可以察覺所發單證的丟失;對于固定且具有頻繁貿易往來的伙伴,可以采用單證傳輸的序列性檢驗(即為單證分配序列號,或者增加時間戳);也可采用雙方約定的方法(即在規定的時間內,通過某種方式進行確認。
⑷如何確定電子單證的內容未被篡改;單證傳輸完整性主要采用散列技術來防止非法用戶對單證的篡改,通過散列算法對被傳輸的單證進行處理,產生一個依賴于該單證的短小的散列值,并將該散列值附接在單證之后傳輸給接收方。以便接收方采用相同的散列算法對接收的單證進行檢驗。
⑸如何確定電子單證的真實性,即單證來源于期望的發送方;鑒別單證真實性的主要手段是數字簽名技術,其基礎是數據加密中的公開密鑰加密技術,實用中常結合單證完整性一起考慮,利用發方的秘密密鑰對散列值進行加密。
⑹如何解決或者仲裁收發雙方對交換的單證所產生的爭議,包括發方或者收方可能的否認或抵賴。通常要求引入認證中心進行管理,由CA發放密鑰,傳輸的單證及其簽名的備份發至CA保存,作為可能爭議的仲裁依據。
⑺如何保證存儲信息的安全性。規范內部管理,使用訪問控制權限和日志,以及敏感信息的加密存儲等。當使用WWW服務器支持電子商務活動時,應注意數據的備份和恢復,并采用防火墻技術(有些專家建議直接采用物理分割WWW服務器和內部網絡的連接)保護內部網絡的安全性。
3.電子支付協議工作流程
電子商務也需要有與現實世界中使用的各種支付手段的相應的電子支付工具。目前主要有三種支付工具:卡,電子支票,電子貨幣(電子現金,電子硬幣)。對應于不同的支付工具,可以將目前已有的支付協議分為三類:基于卡的支付協議,基于支票的支付協議,基于電子貨幣的支付協議。基于卡的支付協議使用信用卡的支付基礎設施,卡的有效性需經過發卡機構的認證,不能提供交易的匿名性。基于支票的支付協議使用電子支票作為支付工具,支付機制類似于基于卡的支付,支票的有效性需經過發行銀行的認證。電子貨幣是可以獨立于發行銀行而進行自認證的一種符號。基于電子貨幣的支付協議可以通過盲簽名的機制實現匿名交易。下面以廣泛應用的SET協議為例來加以分析。
SET正是在這種背景下應運而生的。SET(SecureElectronicTransaction安全電子交易)是由VISA和MASTCARD所開發,是為了在Internet上進行在線交易時保證用卡支付的安全而設立的一個開放的規范。
SET要達到的最主要的目標是:
⑴信息在INTERNET上的安全傳輸。保證網上傳輸的數據不被黑客竊聽。
⑵定單信息和個人帳號信息的隔離。在將包括消費者帳號信息的定單送到商家時,商家只能看到定貨信息,而看不到消費者的帳戶信息。
⑶消費者和商家的相互認證,以確定通信雙方的身份。一般由第三方機構負責為在線通信方雙方提供信用擔保。
⑷要求軟件遵循相同的協議和消息格式,使不同廠家開發的軟件具有兼容和互操作功能,并且可以運行在不同的硬件和操作系統平臺上。
SET協議中的角色有:
⑴消費者:在電子商務環境中,消費者和團體購買者通過計算機與商家交流,消費者通過由發卡機構頒發的付款卡(例如信用卡、借記卡)進行結算。在消費者和商家的會話中,SET可以保證消費者的個人帳號信息不被泄漏。
⑵發卡機構:它是一個金融機構,為每一個建立了帳戶的顧客頒發付款卡,發卡機構根據不同品牌卡的規定和政策,保證對每一筆認證交易的付款。
⑶商家:提供商品或服務,使用SET,就可以保證消費者個人信息的安全。接受卡支付的商家必須和銀行有關系。
⑷銀行:在線交易的商家在銀行開立帳號,并且處理支付卡的認證和支付。
⑸支付網關:是由銀行操作的,將INTERNET上的傳輸數據轉換為金融機構內部數據的設備,或由指派的第三方處理商家支付信息和顧客的支付指令。
SET是針對用卡支付的網上交易而設計的支付規范,對不用卡支付的交易方式,象先送貨貨到付款方式、郵局匯款方式則與SET無關。另外象網上商店的頁面安排,保密數據在購買者計算機上如何保存等,也與SET無關。
協議的工作原理如下:
具體工作流程說明如下:
⑴消費者使用瀏覽器在商家的WEB主頁上查看在線商品目錄瀏覽商品。
⑵消費者選擇要購買的商品。
⑶消費者填寫定單,包括:項目列表、價格、總價、運費、搬運費、稅費。定單可通過電子化方式從商家傳過來,或由消費者的電子購物軟件(wallet)建立。有些在線商場可以讓消費者與商家協商物品的價格(例如出示自己是老客戶的證明,或給出了競爭對手的價格信息)。
⑷消費者選擇付款方式。此時SET開始介入。
⑸消費者發送給商家一個完整的定單及要求付款的指令。在SET中,定單和付款指令由消費者進行數字簽名。同時利用雙重簽名技術保證商家看不到消費者的帳號信息。
⑹商家接受定單后,向消費者的金融機構請求支付認可。通過Gateway到銀行,再到發卡機構確認,批準交易。然后返回確認信息給商家。
⑺商家發送定單確認信息給顧客。顧客端軟件可記錄交易日志,以備將來查詢。
⑻商家給顧客裝運貨物,或完成訂購的服務。到此為止,一個購買過程已經結束。商家可以立即請求銀行將錢從購物者的帳號轉移到商家帳號,也可以等到某一時間,請求成批劃帳處理。
⑼商家從消費者的金融機構請求支付。在認證操作和支付操作中間一般會有一個時間間隔,例如,在
每天的下班前請求銀行結一天的帳。
前三步與SET無關,從第四步開始SET起作用,一直到第九步,在處理過程中,通信協議、請求信息的格式、數據類型的定義等,SET都有明確的規定。在操作的每一步,消費者、商家、網關都通過CA來驗證通信主體的身份,以確保通信的對方不是冒名頂替。
4.支付協議中采用的加密技術
下面主要還是以SET為例,來深入說明加密技術在協議中的體現。
SET將對稱密鑰的快速、低成本和非對稱密鑰的有效性完美地結合在一起。以下是SET使用的加密技術。
考慮網上商店的情況,對于成千上萬的消費者和商家在INTERNET交換信息,要對每一個消費者通過某個渠道發放一個密鑰,在現實中是不可取的。而用公開密鑰,商家生成一個公共密鑰對,任何一個消費者都可用商家公開的公鑰與商家進行保密通信。
⑴數字信封:SET依靠密碼系統保證消息的可靠傳輸,在SET中,使用DES算法產生的對稱密鑰來加密數據,然后,將此對稱密鑰用接收者的公鑰加密,稱為消息的“數字信封”,將其和數據一起送給接收者,接收者先用他的私鑰解密數字信封,得到對稱密鑰,然后使用對稱密鑰解開數據。
⑵數字簽名:由于公開密鑰和私有密鑰之間存在的數學關系,使用其中一個密鑰加密的數據只能用另一個密鑰解開。SET中使用RSA算法來實現。發送者用自己的私有密鑰加密數據傳給接收者,接收者用發送者的公鑰解開數據后,就可確定消息來自于誰。這就保證了發送者對所發信息不能抵賴。
⑶消息摘要:消息摘要(messagedigest)是一個唯一對應一個消息或文本的值,由一個單向Hash加密函數對消息作用而產生。在SET協議中,原文通過SHA-1算法生成消息的文摘。用發送者的私有密鑰加密摘要附在原文后面,一般稱為消息的“數字簽名”。數字簽名的接受者可以確信消息確實來自誰,另外,如果消息在途中改變了,則接收者通過對收到消息的新產生的摘要與原摘要比較,就可知道消息是否被改變了。因此消息摘要保證了消息的完整性。
下圖說明了加密、簽名和消息摘要的過程:
加密的有效性取決于加密算法DES和RSA的強度,以及SHA-1算法的有效性。
⑷雙重簽名:為了保證消費者的帳號等重要信息對商家隱蔽,SET中采用了雙重簽名技術。它是SET推出的數字簽名的新應用。考慮下面的情況,王先生要買李小姐的一處房產,他發給李小姐一個購買報價單及對他對銀行的授權書的消息,要求銀行如果李小姐同意按此價格出賣,則將錢劃到李小姐的帳上。但是王先生不想讓銀行看到報價,也不想讓李小姐看到他的銀行帳號信息。此外,報價和付款是相連的、不可分割的,僅當李小姐同意他的報價,錢才會轉移。要達到這個要求,采用雙重簽名即可實現。
5.身份認證技術
網上的兩個人要談一筆交易,每一個人都要鑒別對方是否可信的,例如,王先生收到了帶有李小姐數字簽名的一封信,用屬于李小姐的公鑰解密,他要確定公鑰屬于李小姐,而不是在網上冒充李小姐的其他人,一種確定公鑰屬于李小姐的辦法就是,通過秘密途徑接收由李小姐親自送來的公鑰(PublicKey),顯然在實際中,這種辦法是不現實的。一個可行的辦法就是由一個大家都相信的第三方來驗證公鑰確實屬于李小姐,這樣的第三方稱為“認證中心”(CertificateAuthority)。認證中心(CA)就是承擔網上安全電子交易認證服務、能簽發數字證書、并能確認用戶身份的服務機構。認證中心通常是企業性的服務機構,主要任務是受理數字憑證的申請、簽發及對數字憑證的管理。認證中心依據認證操作規定(CPS:CertificationPracticeStatement)來實施服務操作。
5.1證書在做交易時,向對方提交一個由CA簽發的包含個人身份的證書,使對方相信自己的身份,即數字證書。數字證書,是用電子手段來證實一個用戶的身份和對網絡資源的訪問的權限。在網上的電子交易中,如雙方出示了各自的數字憑證,并用它來進行交易操作,那么雙方都可不必為對方身份的真偽擔心。
數字憑證可用于電子郵件、電子商務、群件、電子基金轉移等各種用途。
數字憑證的內部格式是由CCITTX.509國際標準所規定的,它包含了以下幾點:
⑴憑證擁有者的姓名,
⑵憑證擁有者的公共密鑰,
⑶公共密鑰的有效期,
⑷頒發數字憑證的單位,
⑸數字憑證的序列號(Serialnumber),
數字憑證有三種類型:顧客向CA申請證書時,可提交自己的駕駛執照、身份證或護照,經驗證后,頒發證書,證書包含了顧客的名字和他的公鑰。以此作為網上證明自己身份的依據。在SET中,最主要的證書是持卡人證書和商家證書:
⑴持卡人證書:它實際上是支付卡的一種電子化的表示。由于它是由金融機構以數字化形式簽發的,因此不能隨意改變。持卡人證書并不包括帳號和終止日期信息,取而代之的是用單向哈希算法根據帳號,截止日期生成的一個碼,如果知道帳號、截止日期、密碼值即可導出這個碼值,反之不行。
⑵商家證書:用來表示商店可以用什么卡來結算。它是由金融機構簽發的,不能被第三方改變。在SET環境中,一個商家至少應有一對證書,與一個銀行打交道,一個商家也可以有多對證書,表示它與多個銀行有合作關系,可以接受多種付款方法。
⑶除了持卡人證書和商家證書以外,還有支付網關證書、銀行證書、發卡機構證書等。
5.2CertificateAuthority(CA)CA是提供身份驗證的第三方機構,由一個或多個用戶信任的組織實體,例如,持卡人要與商家通信,持卡人從公開媒體上獲得了商家的公開密鑰,但持卡人無法確定商家不是冒充的(有信譽),于是持卡人請求CA對商家認證,CA對商家進行調查、驗證和鑒別后,將包含商家PublicKey(公鑰)的證書傳給持卡人。同樣,商家也可對持卡人進行驗證。證書一般包含擁有者的標識名稱和公鑰并且由CA進行過數字簽名。
5.3證書的樹形驗證結構
在兩方通信時,通過出示由某個CA簽發的證書來證明自己的身份,如果對簽發證書的CA本身不信任,則可驗證CA的身份,依次類推,一直到公認的權威CA處,就可確信證書的有效性。SET證書正是通過信任層次來逐級驗證的。每一個證書與數字化簽發證書的實體的簽名證書關聯。沿著信任樹一直到一個公認的信任組織,就可確認該證書是有效的。例如,C的證書是由名稱為B的CA簽發的,而B的證書又是由名稱為A的CA簽發的,A是權威的機構,通常稱為根(Root)CA。驗證到了RootCA處,就可確信C的證書是合法的。
在網上購物實現中,持卡人的證書與發卡機構的證書關聯,而發卡機構證書通過不同品牌卡的證書連接到rootCA,而root的公共簽名密鑰對所有的SET軟件都是已知的,可以校驗每一個證書。
參考文獻: