在本篇 AS2 协议指南中,将带您了解 AS2 的完整定义,并提供开始使用AS2的所需信息,包括:
- 什么是AS2?
- AS2 的背景
- AS2 的优点
- AS2 的工作原理
- AS2 实施
- AS2 与 AS1、AS3 和 AS4对比
什么是 AS2?
AS2,是一种 B2B 消息传输协议,用于将文件从一个企业传输到另一个企业。
AS2 是一种通用的EDI传输协议,其传输的数据应用于全球数百万企业。AS2 常应用于零售商,如亚马逊和沃尔玛。AS2 详细说明了如何使用 HTTP/S(安全超文本传输协议)通过 Internet 安全地传输数据。AS2 是第二代 EDI 协议,由 Internet Engineering Task Force (IETF) 在 2002 年创建,以取代使用电子邮件协议进行安全数据传输的 AS1。
Drummond 认证
AS2 由 德拉蒙德集团(Drummond Group) 提供支持,这是一个专门认证 AS2 软件的组织。如果您和您的交易伙伴都使用 Drummond 认证过的 AS2 产品,即可完成安全连接以交换EDI数据。
与许多其他文件传输协议的软件不同,由 Drummond 认证的 AS2 软件供应商每年需针对一组安全配置文件进行两次互操作性测试,确保任何互操作性问题都能在测试期间发现并解决,避免影响生产环境。如果选择非 Drummond 认证的 AS2 解决方案,由于缺乏互操作性测试,可能会遇到与交易伙伴的交互问题,甚至遇到数据安全问题。
技术与特点
AS2 支持使用 HTTP/S 在互联网上进行安全数据传输,由于互联网接入的普遍性,它比许多其他协议更容易使用。AS2涉及两台服务器,以点对点的方式在线连接,用于安全的、与有效负载无关的B2B消息交换。
安全
AS2 协议有三个核心特性:
- 安全性:在 AS2 中,敏感数据可通过 TLS/SSL 传输层得到保护,亦可通过 S/MIME 在负载层中得到保护。AS2 使用 S/MIME 协议将 EDI 数据封装在一个安全的“信封”中,并通过网络发送。
- 完整性:消息是使用数字证书签名的,可确保发送方的身份和消息的完整性。数字证书也会对消息进行加密,以确保只有正确的一方接收 EDI 消息,并且在传输过程中没有人可以拦截它们。
- 不可否认性:数据的接收方在成功接收到消息后需要返回一个签名消息,即 MDN 回执,其中包含消息完整性检查 (MIC)。
谁都在用 AS2?
众所周知,沃尔玛通过 AS2 支持 EDI,并推动其在零售业中更广泛的大规模采用。
AS2 的背景
AS2 由 IEFT 于 2022 年创建,以取代他们在1990年代初期创建的AS1。
由于零售和消费品 (CPG) 行业的主要参与者支持 AS2,AS2 的应用在 2000 年代初期迅速增长。沃尔玛是第一家要求其供应商使用 AS2 协议的主要零售商。亚马逊、Target、Lowe’s、Bed、Bath & Beyond 和其他数千家企业也纷纷效仿。
他们表明,他们可以通过 AS2 直连绕过昂贵的传统增值网络 (VAN),降低成本并实现近乎实时传输的 EDI 通信。现在,包括医疗保健在内的许多其他行业都使用 AS2 协议,因为 AS2 符合 HIPAA 法律要求。
AS2 的优点
为什么要选择AS2呢?对于许多企业来说,选择 AS2 主要是为了满足更大客户或者交易伙伴的要求,此外,站在业务和技术的角度来看,AS2是一个有着诸多优势的通用协议。对于许多企业来说,通过 AS2 进行的 EDI 电子数据交换是非常值得投资的。
- 通过使用 Internet 网络进行 EDI 文件传输,AS2 降低了昂贵的 VAN 和传统 EDI 的交易成本。
- 通过 EDI 扩展连接更多交易伙伴;凭借较低的成本和通用的网络连接,AS2 允许与全球几乎没有 EDI 基础的交易伙伴一起实施 EDI。
- 无需手动处理订单,节省大量时间。
- 通过将手动流程转变为自动化流程来消除错误。
- 通用解决方案 – AS2 已建立并经过测试,可以直接使用,因此无需再费时重新研究发明。对于数以百万计的企业而言,这就是它胜过其他 EDI 协议的原因。
技术优势
- 利用网络:如果企业可以通过网络安全地共享数据,那么您已经拥有了 AS2 的大部分基础配置。
- 无限的 EDI 数据 – 通过 Web 的交易规模没有实际限制,AS2 支持超大文件传输的功能。
- 7×24连接,停机时间短 – 只要服务器保持正常运行, AS2 就可以保持正常运行。
- 灵活性:AS2 中的 HTTP/S 和 S/MIME 签名和加密技术被广泛使用并定期维护
- Payload Agnostic – AS2 可用于传输任何类型的文件。虽然 EDI X12、EDIFACT 和 XML 很常见,但可以传输任何双方认可的格式。
AS2 的工作原理
那么,AS2 是如何工作的呢?它遵循一个相当简单的过程,AS2 为 EDI 数据提供了一个“信封”,以便使用 HTTP/S 通过 Web(和其他基于 TCP/IP 的网络)安全地发送数据。
传输过程
发送方使用AS2 软件传输消息:
1. EDI 文件准备
准备标准 EDI 格式报文,以通过 AS2 发送(AS2 可以发送任何格式的文件,这里以标准EDI报文为例)
2. AS2 打包
通过 AS2 来发送该 EDI 报文,通过 AS2 发送的文件一般会(但非必须)经历以下三步打包:
- 压缩:可以使用压缩算法压缩文件以减小传输数据的大小(可选项)
- 签名:通常使用发送方的私钥证书对数据进行签名,以确保发送方作为文件创建者的身份
- 加密:通常使用接收方的公钥证书进行加密,因此只有正确的接收方才能解密文件。AS2 使用安全/多用途网络邮件扩展 (S/MIME) 协议将邮件包装在安全信封中。
3.消息传递
将打包的数据通过 HTTP/S 安全地传输消息。
4. AS2 拆包
接收服务器需要始终保持在线状态(如果在发送消息时接收方的服务器处于离线状态,则发送方将收到错误消息),以侦听发送给它的消息。如果数据已加密,则使用接收方的私钥证书解密。如果已签名,则使用发件方的公钥证书验证签名,以验证发送方的身份。如果文件已压缩,则将其解压缩。
5.EDI处理
AS2 将拆包后的 EDI 文件传递给处理数据的任何后端进程,以执行其他附加的业务逻辑。
6. MDN 回复(接收方)
接收方使用 AS2 或 EDI 软件提取消息并将消息确认回执发送给发送方。
7. MDN 处理(发送方)
发送方验证MDN签名并将返回的内容消息完整性检查 (MIC) 与最初计算的内容进行比较
接收层和确认层
为确保每条消息都到达其目的地,EDI 中提供了四层回执。其中三个是所有EDI协议共有的,AS2增加了第四个,即MDN。
1.通信状态:确认在网络级别接收到数据 2.MDN:消息确认回执 (MDN) 确认消息已成功从”信封”中提取,并且收到的有效负载与从客户端传输的有效负载相匹配。(由 AS2 添加) 3.功能确认:确认接收到有效消息(例如,打开 EDI 信封并包含有效的 EDI 文件)。也称为 997/999 (X12) 或 CONTRL (EDIFACT)。 4.业务确认:确认消息的内容,并确认它已经以适当的方式得到处理(例如,采购订单确认 同意履行 采购订单中的订单)
关键点:
- AS2 最常用于传输EDI报文 ,但实际可以处理任何文件类型
- AS2 信封可能包含另一个含实际业务文件的信封(例如 ANSI X12 EDI)
- 与传统 EDI 一样,您可以使用工具从内部系统中提取数据,并将其转换为适当EDI标准报文,然后再发送
- 然后,您可以以相同的方式处理您发送和接收的数据
- 为了加快传输速度,AS2 支持压缩以减小每条消息的大小
AS2 实施:关键点和决策
直连AS2 EDI vs VAN
您可以用 AS2 与每个交易伙伴的 EDI 直接连接,或者使用增值网络 (VAN)。
在直连 EDI(也称为点对点 EDI)中,使用商定的协议(在本例中为 AS2)与每个交易伙伴建立连接。系统的所有权及其部件和连接的管理由通信各方来维护(企业也可以在云环境中托管其EDI环境,例如 Amazon EC2)。
VANs 充当中间人,在通信协议和交易伙伴之间翻译 EDI 消息,无论您的交易伙伴使用哪种协议,您都可以使用自己的单一协议 – 例如,如果您只使用 AS2,但欧洲交易伙伴除了使用 AS2 之外还使用 OFTP2 和 AS4 .
VANs 可以提供对您的 EDI 文件的托管管理、数据的可视化和扩展报告 – 但要付费。VANs 作为一项持续服务运行,虽然VANs可能会降低您的初始成本,但处理每一个文件(甚至是行项目)都会收取费用。
传统上,VANs是缺乏EDI资源或知识来支持EDI的小型企业的唯一选择,但随着 EDI 技术的成熟和 EDI 软件的出现,直连EDI的成本也逐渐降低,越来越多地企业选择使用直连 EDI。VANs可能会降低初装成本,但会为处理的每个文件甚至行项目收取费用。如果您的交易量较少,并且只偶尔使用EDI,那么您的成本可能会比较低,但随着业务量与日俱增,服务费也将持续增长。如果您未来有计划增加交易伙伴,并预期会有更高的数据交易量,直连EDI解决方案的成本会低得多。
当然还有其他的考虑因素,例如企业对设置、交易伙伴的要求、安全性等把控,需要结合企业自身和交易伙伴的具体要求进行选择。
直连 EDI
VAN EDI
防火墙安全
使用 AS2可以通过互联网发送和接收商业数据。如果想保护这个通往网络的入口,就像锁上门一样,防火墙是最常见的方法。两个主要安全选项是:
让每个交易伙伴使用专用端口或网络地址发送消息,该端口或网络地址只接收来自其IP地址或特定来源的消息
使用非军事区 (DMZ) – 所有AS2流量都从一个端口进入,运行AS2的服务器与企业内部服务器只进行单向通信。你可以将它想象成一个双门气闸,将AS2流量与您的内部服务器隔离开来,消除了对每个供应商的特定安全解决方案的需求。
HTTP 与 HTTPS
AS2 使用超文本传输协议 (HTTP),可以通过 SSL 证书进行专门保护。大多数网站已经或正在从传统的 HTTP 迁移到 HTTPS,因此 HTTPS 正在成为标准。
数字证书
在知行之桥中,我们建议使用数字证书加密所有 EDI 交易,以验证每笔交易和每个交易伙伴的身份。只有拥有私钥证书的交易伙伴才能接收消息和访问AS2,从而防止数据在传输过程中被截获。
生成数字证书有两个主要选项:
- 使用证书颁发机构 (CA)的证书,例如在Envision 或 Verisign申请,来管理证书、验证证书并吊销过期的证书
- 使用带有内置证书功能的EDI应用程序来“自签名”数字证书——知行之桥带有完整的内置证书功能
除非您的交易伙伴的安全策略另有规定,使用SSL连接,最常见的方法是从CA机构购买SSL证书,并同时使用SSL证书进行签名和加密。来自可信任CA机构的SSL证书会向web服务器上的匿名访问者验证您的身份,但自签名证书在AS2更常见,因为通信双方之间的现有信任关系已经建立(并且可以免费创建证书)。
加密
通过使用接收方的公钥证书,AS2 消息内容被加密以保护数据。只有接收方才能使用他们的私钥证书解密内容。
在通过 AS2 传输数据时加密数据,您和您的交易伙伴的 EDI 软件必须使用并支持相同的加密算法。热门选项包括:
- 168 Bit Triple DES (3DES) (3DES),默认使用
- AES(未普遍采用)
签名算法
您和您的交易伙伴可以对传输的数据签名以证明其真实性。AS2 支持以下选项:
- 不签名 – 不推荐,因为没有身份验证
- SHA-1
- SHA-2(也称为 SHA-256)- 2018 年推出的 SHA-1 的替代品,更常见但尚未普遍采用
AS2 标准现在建议使用 SHA-2,但您可能还需要同时支持 SHA-1 以用于不同的交易伙伴。
签名是 AS2 传输的一个重要功能。签名证明发送方的身份并包含使用 SHA-1 或 SHA-2 算法计算的 MIC(消息完整性检查)。当接收方验证签名时,该 MIC 将与接收方在签名消息的正文上计算的 MIC 进行比较。如果 MIC 在签名中发送并在有效负载上计算匹配,则发送方可以确信数据没有被篡改。
消息确认回执 (MDN) 和不可否认性
消息确认回执 (MDN) 确认交易伙伴收到了文件,提供“不可否认性”或不可否认的回执。有五个处理MDN的选项,包括:
- 没有MDN – 这是一个糟糕的选择,零审计跟踪,并可能导致传输的误报。
- 普通MDN – 未签名的回执立即返回给发送方,以显示消息回执。这也是一个糟糕的选择,因为很容易被冒充。
- 签名MDN – 立即返回并签名,提供最可靠的审计线索。
- 异步普通MDN – 稍后发送的普通回执,非立即发送
- 异步签名MDN – 稍后发送的签名回执,非立即发送。这在消息较大的情况下很有用,因为发送方可能不希望在等待返回需要更长时间生成的 MDN 时保持初始连接打开。
发送方需要为接收方指定MDN形式,因此您需要确保您的软件支持以上所有的五个选项,因为每个交易伙伴可能需要不同的回执(MDN)。
此外,MDN 包含根据接收到的初始传输有效负载计算的 MIC。当原始发送方验证 MDN 时,该 MIC 将与最初通过 AS2 传输计算的 MIC 进行比较,因此发送方接收到有效负载被打包接收的保证。在消息和MDN上使用签名创建了MDN的不可否认性(NRR),这被认为是交付的合法证明。
报文标准
除了正确实施 AS2 协议外,您还需要确定与每个交易伙伴交换的 EDI 标准和报文 —— 无论是 EDIFACT INVOIC 发票、X12 850 采购订单、HIPAA EDI 患者准入证还是其他任何业务报文。
阅读原文