AS2通信中发生了什么?

2023-12-28 13:21:21
什么是AS2?

AS2是一种 B2B 消息传输协议,通常用于企业间的信息传输。

AS2 协议有三个核心特性:

  • 安全性:在 AS2 中,敏感数据可通过 TLS/SSL 传输层得到保护,亦可通过 S/MIME 在负载层中得到保护。AS2 使用 S/MIME 协议将 EDI 数据封装在一个安全的“信封”中,并通过HTTP/S 在互联网上进行安全数据传输。
  • 完整性:通过AS2传输的消息是使用数字证书签名的,可确保发送方的身份和消息的完整性。数字证书也会对消息进行加密,以确保只有正确的一方接收 EDI 消息,并且在传输过程中没有人可以拦截它们。
  • 不可否认性:数据的接收方在成功接收到消息后需要返回一个签名消息,即 MDN 回执,其中包含消息完整性检查 (MIC)。
AS2通信中的公钥证书和私钥证书

AS2传输过程中需要使用到公钥证书以及私钥证书,这一组证书都是成对出现的。企业需要将公钥证书(后缀为.cer)提供给交易伙伴,并且妥善保管自己的私钥证书(后缀为.pfx)。

AS2 是如何工作的?

AS2 为 EDI 数据提供了一个“信封”,以便使用 HTTP/S 通过 Web(和其他基于 TCP/IP 的网络)安全地发送数据。

我们已通过知行之桥EDI系统建立与Company A的AS2连接为例。

这是一个完整的AS2传输流程,主要包含7个步骤。

1.EDI 文件准备

AS2交换中,可以发送文本文件、PDF等任何类型的文档,但大多数情况下,企业间通过AS2传输的文件都是遵循特定的报文标准以及文件类型的。

准备标准 EDI 格式报文(如常见的X12、EDIFACT等),以通过 AS2 发送(AS2 可以发送任何格式的文件,这里以标准EDI报文为例)

在知行之桥EDI系统中可在AS2端口的输入选项卡下创建测试文件。

AS2_EXP1.png

2.AS2 打包

通过 AS2 来发送该 EDI 报文,通过 AS2 发送的文件一般会(但非必须)经历以下三步打包:

压缩:可以使用压缩算法压缩文件以减小传输数据的大小(可选项)
签名:通常使用发送方的私钥证书对数据进行签名,以确保发送方作为文件创建者的身份(通常使用 SHA-1 签名算法)。也就是我们配置在个人设置页面下的私钥证书:Arc.pfx。

AS2_EXP2.png

加密:通常使用接收方(Company A)的公钥证书进行加密(使用 3DES 加密算法),因此只有正确的接收方才能解密文件。AS2 使用安全/多用途网络邮件扩展 (S/MIME) 协议将邮件包装在安全信封中。这里的公钥证书则是配置在AS2端口设置选项卡下的交易伙伴证书:IRIS.cer。

AS2_EXP3.png

3.消息传递

将打包的数据通过 HTTP/S 安全地传输消息。

4.AS2 拆包

接收服务器需要始终保持在线状态(如果在发送消息时接收方的服务器处于离线状态,则发送方将收到错误消息),以侦听发送给它的消息。如果数据已加密,则使用接收方(配置在个人设置下的,企业自己的私钥)的私钥证书(Arc.pfx)解密。如果已签名,则使用发件方(此时发送方为Company A)的公钥证书验证签名(IRIS.cer),以验证发送方的身份。如果文件已压缩,则将其解压缩。

5.EDI处理

AS2 将拆包后的 EDI 文件传递给处理数据的任何后端进程,以执行其他附加的业务逻辑。

6.MDN 回复(接收方)

接收方使用 AS2 或 EDI 软件提取消息并将消息确认回执发送给发送方。

收到来自Company A的文件,需要在AS2端口的输出选项卡下,点击每条消息左侧的加号,展开日志信息即可获取MDN。

AS2_EXP4.png

7.MDN 处理(发送方)

发送方验证MDN签名并将返回的内容消息完整性检查 (MIC) 与最初计算的内容进行比较。

如果是给Company A发送文件,则在AS2端口输入选项卡下,点击每条消息左侧的加号,展开日志信息即可获取MDN。

AS2_EXP5.png

扩展阅读:EDI是什么?

文章来源:https://blog.csdn.net/Cara_EDI_Consultant/article/details/135264560
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。