因特網的飛速發展,帶動了傳統甚至新興行業的不斷更新,因特網上的電子商務已經是一個眾所周知的名詞。EDI(電子數據交換)作為電子商務的一部分,也逐漸從基于增值網的模式(VAN EDI)發展到了因特網上。VAN EDI的核心是EDI中心,通常由一臺功能較強的計算機充當中心機,完成大部分復雜的EDI功能。一個EDI中心可通過網絡與其他的EDI中心互聯。EDIVAN 支持大量的通信協議,速率較低,費用較高。EDIVAN 最重要的一點是充當了一個可信的第3 方,保證通過VAN 的EDI交換不受安全威脅。EDIVAN 確保EDI交換的完整性,對貿易伙伴進行鑒別,并提供若干確認信息,用于跟蹤在VAN 上傳輸的EDI交換。EDI的完整性確保EDI交換從發送方到接收方的傳送過程中沒有經過任何修改;對貿易伙伴的鑒別保證只有經過確認的貿易伙伴才能提供發送和接收服務。貿易伙伴使用各自合法的標識(ID)和口令字登錄到系統,系統對其進行檢查并驗證其有效性。VAN 還提供不同級別的服務,以便讓用戶跟蹤其EDI交換過程。因特網為EDI技術的應用提供了一個通信基礎,與基于VAN 的EDI系統相比,在因特網從事EDI活動有很多好處,其中廉價、便捷以及可縮放性是其主要的優點,因而利用因特網實現EDI一開始就受到中小型用戶的歡迎。但由于因特網的開放性,以及沒有提供任何安全保證,也帶來了一個十分重要的問題:如何確保在其上傳輸EDI報文的安全性。一般說來,系統的開放程度越高,安全問題就越突出。因此運行于因特網上的EDI系統的安全性便成為衡量該系統是否可行的一個重要因素。
1 因特網EDI安全概述
VAN EDI基于EDI交換中心,提供了封閉、安全的系統,其可靠性高。因特網EDI的解決方案則基于開放、廉價和高適應性的系統,沒有交換中心的概念,因此所有由VAN EDI交換中心完成的工作必須由貿易伙伴的端系統承擔。端系統不僅要完成對用戶EDI單證的處理,更重要的是要解決EDI報文在因特網上的傳輸安全問題。由于EDI交換涉及到貿易雙方的經濟利益,而且利用因特網從事EDI的用戶地理位置上分布更為廣泛,貿易雙方之間的制約因素很少甚至沒有,所以實現因特網EDI,一是要解決安全性問題,二是要選擇與安全策略相配套的傳輸協議。
1.1 安全問題
1.1.1 有效性
EDI作為貿易的一種形式,其信息的有效性將直接關系到個人、企業或國家的經濟利益和聲譽。
因此,針對因特網的開放性的特點,要考慮對網絡故障、操作錯誤、應用程序錯誤、硬件故障、系統軟件錯誤及計算機病毒所產生的潛在威脅并加以控制和預防,以保證貿易數據在確定的時刻、確定的地點是有效的。
1.1.2 機密性
EDI作為貿易的一種手段,其信息直接代表著個人、企業或國家的商業機密。傳統的紙面貿易都是通過郵寄封裝的信件或通過可靠的通信渠道發送商業報文來達到保守機密的目的。建立在因特網開放的網絡環境上的EDI,尤其要預防非法的信息存取和信息在傳輸過程中被非法竊取。維護商業機密是EDI全面推廣應用的重要保障。
1.1.3 完整性
EDI簡化了貿易過程,減少了人為的干預,同時也帶來維護貿易各方商業信息的完整、統一的問題。由于數據輸入時的意外差錯或欺詐行為,可能導致貿易各方信息的差異。此外,數據傳輸過程中信息的丟失、信息重復或信息傳送的次序差異也會導致貿易各方信息的不同。貿易各方信息的完整性將影響到貿易各方的交易和經營策略,保持貿易各方信息的完整性是EDI應用的基礎。因此,要預防對信息的隨意生成、修改和刪除,同時要防止數據傳送過程中信息的丟失和重復并保證信息傳送次序的統一,這一點在利用因特網作為傳輸媒體時更為重要。
1.1.4 可靠性/ 無否認性/ 認證
EDI可能直接關系到貿易雙方的商業交易,如何確定要進行交易的貿易方正是進行交易所期望的貿易方,這一問題則是保證EDI順利進行的關鍵。在傳統的紙面貿易中,貿易雙方通過在交易合同、契約或貿易單據等書面文件上手寫簽名或印章來鑒別貿易伙伴,確定合同、契約、單據的可靠性并預防抵賴行為的發生,這也就是人們常說的“白紙黑字”。在基于因特網的EDI方式下,通過手寫簽名和印章進行貿易方的鑒別已是不可能的。因此,要在交易信息的傳輸過程中為參與交易的個人、企業或國家提供可靠的標識。
1.1.5 審計能力
根據機密性和完整性的要求,應對數據審計的結果進行記錄,以便為以后貿易雙方可能的紛爭提供有效的法律依據。
1.2 安全算法選擇
安全性的實現需要具體的安全算法來實現。根據因特網的特點,在因特網中實現EDI的安全性,需要考慮下列因素:
1)算法的安全性。根據EDI系統的安全級別要求,所選的算法是否可以滿足當前和今后一段時期的要求。安全算法應該沒有陷門,算法的安全性只由密鑰長度決定。一般選用國際上公開的安全算法,最好自行設計。
2)算法實現的速度。速度是效率的前提,應該保證算法軟件實現的簡潔和高效。
3)算法在國際、國內的通用性。通用算法通常是被證明沒有陷門和高效的
。
4)是否具有支持此算法的API 接口和工具。
5)在已有的系統中,該算法使用的頻度。
1.2.1 加密
常見的密碼算法體制分為對稱密碼算法體制和非對稱密碼算法體制。對稱加密方式的算法主要有:DES,3DES,RC2,RC5 和IDEA 等,其中IDEA(international data encryption aIgorithm)算法在形式上與DES 類似,但使用l28 位的密鑰,強度高于DES。加密和解密密鑰都可從同一個主密鑰派生出來。IDEA 的設計傾向于軟件實現。到目前為止,從公開發表的文獻看,對IDEA 尚未找到破譯方法。公開密鑰加密算法主要為RSA 算法。該算法已經成為事實上的公開密鑰密碼算法標準,得到了廣泛使用。
1.2.2 密鑰管理
密鑰管理是加密技術的重要一環,密鑰管理的重點是確保密鑰的安全性(真實性和有效性)。長實效的對稱加密是基于共同保守秘密來實現的,但實用中常通過公開密鑰加密技術來簡化對稱密鑰的管理,同時也可解決純對稱密鑰模式中存在的可靠性和鑒別問題。貿易方可以為每次交換的信息(如每次的EDI交換)生成一次性的會話密鑰。
公開密鑰密碼體制密鑰管理主要解決2 個問題:秘密密鑰的保護和公開密鑰及其所有者身份的確認。
秘密密鑰由用戶內部所采取的安全策略加以保護,一般用口令或存取權限等訪問控制策略進行保護。其安全性依賴于操作系統的安全性以及實際系統的管理和維護。
公開密鑰及其所有者身份的確認,目前一般根據X.509建議,由貿易雙方信賴的簽證機構(certification authorities,CA)來完成。CA 為每一個用戶頒發其簽發的數字證書(certificate)。數字證書通常包含有惟一標識證書所有者(即貿易方)的名稱、惟一標識證書發布者的名稱、證書所有者的公開密鑰、證書發布者的數字簽名、證書的有效期及證書的序列號等。數字證書能夠起到標識貿易方的作用,是目前電子商務廣泛采用的技術之一。
1.2.3 報文內容完整性
報文內容完整性檢查(MIC)用以確保報文內容的完整性,報文完整性檢查通過給發送的報文附加一個報文完整性檢查值(亦稱為MIC)來實現。通常該完整性檢查值可通過對報文進行摘錄或散列得到。對報文進行摘錄或散列的算法叫做單向散列函數。從單向散列函數得到的報文完整性檢查值一般為112~160 bit,該完整性檢查值(MIC)位數越多,則該算法越安全。SHA-1(安全散列算法)是美國國家安全局開發的單向散列函數,其散列值長為160 bit,使用窮盡法攻擊是不可行的。MD5(文摘算法),是另一個單向散列函數,其散列值長為128bit,目前在因特網電子郵件系統安全服務中有著廣泛應用。
1.2.4 數字簽名
數字簽名技術廣泛應用于EDI應用系統中的源鑒別和發方不可否認服務中,收方不可否認服務也需結合數字簽名技術予以實現。數字簽名的基礎是密碼技術,目前較多使用公開密鑰密碼體制實現數字簽名。用于數字簽名的公開密鑰密碼算法一般選用RSA 算法。
1.2.5 序列號
序列號可用來向收方提供檢測報文丟失或重放攻擊的手段。報文序列號本身必須應用數字簽名或內容完整性檢查技術進行保護。有時也可用時間戳(timestamp)代替序列號,只是時間戳本身不能用以識別報文的丟失,而且要對發方和收方進行時間同步校驗,以確保時間戳的有效性。
1.2.6 簽收或收方無否認
簽名收據是由貿易雙方中的收方發給發送方的確認信息。在實施因特網EDI時,簽收用來實現如下目的:提供報文投遞通知;提供報文拾取通知;提供報文認證功能;可檢測出EDI交換在何處被有意刪除或沒有被傳輸系統所投遞。
發送方收到簽名收據,即意味著本次報文已成功投遞,同時也明確地確認了這個交換已被取走——拾取通知。通過收方簽收的收據,可以證實真正的接收者已收到了EDI交換,并且真正的接收者已驗證了本次交換的完整性和發送方的身份。通過在簽名收據中返回源報文的標識和收到內容的一次性Hash 值(信息摘錄),發送者可確認其與發送內容的一致性。
1.3 因特網傳輸協議選擇
因特網為信息傳輸提供了眾多的方式,這些方式配上相應的安全措施可用于傳輸各種信息,甚至一些重要的敏感的信息。因特網EDI的實現基于應用層,EDI報文通常包含非文本信息,所以可采用IETF(因特網工程任務組)制定的一系列Internet/MIME(多用途Internet 郵件擴展)協議。這些Internet /MIME 系列標準,對標準的電子郵件報文頭域進行了擴展,并擴充了電子郵件可以攜帶的信息類型(報文類型),還向用戶提供作進一步擴充的方法。在這個MIME V1.0 版中,定義了7 種報文類型,同時對每一“報文類型”又定義了“子類型”,并規定在頭域中采用“類型/ 子類型”格式予以表示。“類型”用來說明報文體的一般類型,“子類型”則說明這種類型的報文采用的具體格式。接收方在接收到采用“類型/ 子類型”說明的報文時,應調用相應的解釋程序對報文體進行處理。
為了支持EDI單證的封裝,IETF 提出了RFC1767,在Application 類型中擴充定義了3 種新的子類型:application/EDIFACT,application/EDI-X12 和application/EDI-consent,分別表示報文體部封裝的EDI單證符合EDIFACT,ANSI X12 或者EDI用戶雙方共同商定的標準。封裝了EDI單證的Internet/MIME 郵件稱為Internet/MIME EDI報文。RFC1767規定。1 份Internet/MIME EDI報文中只能封裝1 個EDI交換(interchange),1 個EDI交換中至少含有1個EDI單證。當采用EDIFACT 標準時,1 個EDI交換用交換頭UNB 和交換尾UNZ 限定。用Internet/MIME 電子郵件封裝EDI交換時,并不改變其語法和語義,只是負責EDI交換的傳輸。
1.4 因特網EDI安全協議
要實現因特網EDI報文的安全傳輸,可利用因特網現有的標準,如Internet/MIME 安全框架、Internet/MIME 安全協議(如S/MIME或PGP/MIME)來實現。
Internet/MIME 安全框架定義了實施安全處理后的Internet/MIME 的報文結構,并在MIME Muitipart類型中增加了2 種新的安全子類型signed 和encrypted。子類型signed 表示對Internet//MIME 報文實施數字簽名技術,提供鑒別、完整性檢查和發方不可否認等安全服務。子類型encryptd 表示對Internet//MIME 報文實施加密技術,提供密文傳輸服務。根據安全框架的定義,這2 種安全子類型報文都由2 個體部組成,一個體部存放被保護的數據,另一個體部提供控制信息,包括使用的安全算法、完整性檢查信息和證書等,用于收方對實施了保護的Internet//MIME 報文進行處理(如解密等)。
因特網/MIME 安全協議S/MIME 和PGP/MIME 均建立在Internet//MIME 安全框架之上,但兩者在格式上有很大差異。
值得一提的是S/MIME 不是IETF 的標準。它使用RSA 進行密鑰交換,使用弱密碼系統(40 位密鑰)。目前,S/MIME v3 正在制定之中,并有望成為IETF 的標準。
PGP/MIME 使用RSA 進行密鑰交換,并利用IDEA 進行加密,這2 個算法原先均受到專利保護,因而限制了PGP/MIME 成為IETF 標準。為此,IETF OpenPGP 工作組重新制定了OpenPGP 協議,并力爭成為IETF 標準。S/MIME 和PGP/MIME 的比較如表1 所示。
表1 S/MIME和PGP/MIME實現比較
2 安全性的實現
2.1 PGP/MIME 安全協議及其工作方式
作為江蘇省“九五”科技攻關項目之一的“基于因特網的EDI系統研究”,在經過充分論證的基礎上,作者在實現其原型系統時選用了PGP/MIME 安全協議。在實現PGP 算法時,參考了PGP 國際版5.5.3i 的源代碼,并在此基礎上添加了封裝和拆封模塊和郵件傳輸模塊。PGP5.5.3i 中使用的安全算法主要有:DSS,RSA,IDEA,SHA-1 和MD5,PEM(privacy enhancement for internet eiectronic maii)。PGP 實現了DSS 和RSA 密鑰對的自動生成,并可對外公布公開密鑰。PGP 還提供了數據壓縮功能,使用的壓縮算法是ZIP。為適合郵件傳輸,PGP 還允許用戶對信息進行7 bit 封裝,使用的算法是PEM。
2.2 PGP/MIME 的總體結構和主要模塊
PGP/MIME 的總體結構如圖1 所示。
圖1 PGP/MIME功能模塊
2.3 密鑰管理與認證
2.3.1 私有密鑰管理
私有密鑰具有難以記憶的特點,為此本系統采用下述方法:將用戶的私有密鑰保存在特定的文件中,保密的辦法是由用戶為隨機生成的RSA 私有密鑰指定一個口令字(pass phase)。只有通過給出口令才能將私有密鑰釋放出來使用。
2.3.2 認證
考慮到現實世界中還缺少廣泛使用的認證機構;X.509 證書還需要作補充描述;證書的申請、廢除、交換和作廢證書列表均有待于進一步標準化。
由于在EDI貿易伙伴間已存在一種信任關系,作為一種短期行為,貿易伙伴間可相互認證。相互認證意指將互換公鑰和對公鑰的認證作為建立貿易伙伴關系的一部分來處理。在實際操作過程中,貿易雙方在履行了完備的貿易手續和一定的法律規范約束之下,可以保證交易的合法性和可審計性。
本系統采用了相互認證的方法,具體做法是為每個公鑰生成各自的標識(keyID),keyID 是1 個8位16 進制數,2 個密鑰具有相同keyID 的可能性是幾十億分之一,而且PGP 還提供了一種更可靠的標識密鑰的方法:“密鑰指紋”(key's fingERPrint)。每個密鑰對應一串數字(16 個8 位16 進制數),這個數字重復的可能就更微乎其微了。而且任何人無法指定生成一個具有某個指紋的密鑰,密鑰是隨機生成的,從指紋也無法反推出密鑰來。這樣當A 拿到某人的公鑰(通過信函或者電子郵件)后就可以和他在電話上核對這個指紋,從而認證他的公鑰。如果A 無法和B 通電話,那么他可以煌C 通電話認證B 的公鑰,從而通過C 認證了B 的公鑰,這就是直接認證和間接介紹的結合。
3 基于PGP/MIME的因特網EDI系統
因特網安全系統實現的整體框架結構如圖2所示。用戶首先要進行身份鑒別,然后進入系統,此時用戶可執行EDI單證生成、標準裁剪、報文翻譯等操作。EDI報文生成后,按圖2 中的流程進行安全處理,最后生成安全的單證進行傳輸。
圖2 安全傳輸子系統工作流程(加密過程)
4 結語
因特網EDI的實現的關鍵就是安全性。作者在分析了EDI報文有可能受到安全威脅的基礎上,實現了基于貿易雙方相互認證的安全系統,該系統目前已經通過江蘇省科委的鑒定。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/consultation/1083955101.html