使用AS2(http)協議實現 B2B 商用數據交換 (一) [譯]

前言

譯自:https://dzone.com/articles/as...
公司的 B2B 系統要使用 AS2 這種古老的協議跟客戶作對接,主要面向國外客戶,國內基本上都是 FTP。網上關於 AS2 的文章和 github 上可用的輪子都很是少,因此我翻譯了一些 AS2 的文章供參考學習。
Applicability Statement 2或叫 AS2 協議規格書定義了一種在互聯網上傳輸商業數據的安全可靠的機制。git

AS2 消息內容

AS2 協議自己並無限制 AS2 消息的內容。不過,AS2 的消息內容一般是結構化的商業文檔,例如發票,採購訂單等。因此 AS2 系統一般用來處理 EDI (電子數據交換)。EDI 的標準主要有:github

  • 聯合國推薦的 UN/EDIFACT 是惟一的國際標準,主要是北美洲之外的地區在使用
  • 美國標準的 ANSI ASC X12 (X12),主要是美國佬在使用
  • TRADACOMS,英國零售業在用
  • ODETTE 標準,歐洲汽車工業在用

AS2 消息可以攜帶非 EDI 的內容,例如 XML, CSV, 文本或二進制文件。算法

MDN - Message Disposition Notice (消息處理通知)

MDN 是由接收方經過 AS2 協議簽發的電子收據。一般,接收方使用私鑰,生成 digital signature (數字簽名),數字簽名的生成主要基於 MIC (數據完整性校驗碼) 和其餘 AS2 屬性,例如 From/To AS2 ID, message ID 等。發送方收到 MDN 後校驗 MDN 中的 MIC 是否跟發送時計算出來的 MIC 相同 (計算 MIC 使用散列算法,例如 MD5, SHA),確認接收方是否成功接收到完整的消息。MDN 總會附帶 (接收方) 簽名,這樣雙方都不可否認這個電子收據。
MDN 並不意味着接收方商業夥伴成功處理了 AS2 消息文檔,僅僅說明 AS2 消息傳輸成功 (被商業夥伴接收)。安全

AS2 vs 傳統 B2B 協議

相比傳統的 B2B 協議,AS2 (在不借助專用設備,軟件或私有網絡的狀況下) 提供了一種安全,高效,易用的交易環境。AS2 優勢主要有:網絡

  • 對消息內容進行加密(使用非對稱加密技術,例如RSA)——因此只有目標用戶才能解密這個消息。
  • (發送方) 經過 (接收方) 簽署過的 MDN 確認 AS2 消息內容被完整傳輸——接收方基於 (AS2消息內容的) 散列碼進行簽名並附在電子收據 (MDN) 上。
  • 防止惡意模仿——接收方經過 AS2 消息簽名驗證消息是來自可信任的交易夥伴,而不是其餘可疑模仿者。
  • 防火牆友好,節約成本—— AS2 不使用昂貴的增值網絡。

5554557-as2-overview.png

既然 AS2 協議運行在 HTTP 之上,所以消息很容易經過防火牆。AS2 還可以使用 SSL 加密技術或 HTTP 認證這些額外的安全措施。AS2 協議使用交易夥伴的數字證書 (中的公鑰) 加密消息內容,消息內容也附帶了 (已方私鑰簽署的) 電子簽名保證消息的完整性和不能否認性。經過接收方簽發的 MDN,發送方能夠確認 AS2 傳輸過程是否安全,內容是否被篡改。MDN 做爲 AS2 消息的一對一電子收據,在推動 B2B 貿易中扮演着重要的角色。學習

相關文章
相關標籤/搜索