AS2(Applicability Statement 2)是一种用于在企业之间安全地交换 EDI 信息的传输协议。以下是对 AS2 传输协议的简要介绍:
密钥和证书
AS2 协议的一个核心特征是密钥的使用。在 AS2 交换中,发送方和接收方都拥有公钥和私钥。这些公钥和私钥在数学上是相关的,公钥是使用私钥计算出来的。
公钥旨在与合作伙伴共享,并允许接收方验证消息的真实性,而无需发送方的私钥。如果系统只需要每个方都有一个公钥,那么将无法验证消息是否由欺诈方发送。在AS2交换中,证书包含一方的公钥以及可使用受信任证书颁发机构(CA)的私钥创建的签名。
密钥存储
密钥存储是容纳多个私钥和证书的容器。容器的两个常见用途是身份存储和信任存储。前者保存具有相应公共证书的私钥。后者保存一组证书,例如来自 CA 的证书。
密钥存储通常是带有不同扩展名的单个文件。常见的扩展名包括.jks(Java密钥存储)和.p12(当前行业标准)。
加密
数据加密是 AS2 协议的一个关键方面,因为它确保了正在传输的数据的安全性。在通过 AS2 发送的交换中,发送方使用接收方的公钥加密有效负载。这确保只有接收方(拥有相关私钥的人)可以解密消息。
AS2 最常用的加密算法为 Triple DES(3DES)和 AES-256。
数字签名
除了加密外,AS2 还使用数字签名,允许用户保证发送者/接收者的真实性。首先,发送方使用私钥对有效负载进行签名。然后,接收方使用发送方的公钥验证消息的起源和真实性。
AS2 最常用的签名算法为 SHA1、SHA256 和 SHA512。
确认
在 AS2 EDI 交换中,消息处理通知(MDN)用作消息传输的确认,以确保不可否认性。它是文件的数字签名收据,由接收方接收并发送回消息发送方。
哈希函数 / MIC
消息完整性检查(MIC)与MDN相关,并确保消息内容的完整性。它是通过对有效负载使用安全哈希函数计算出来的。接收方在接收的有效负载上计算 MIC,并将包含 MIC 值的 MDN 发送回发送方。如果返回的MIC值等于原始计算的 MIC 值,则有效负载是完整的。
AS2 的传输流程如图所示:
▲AS2 传输流程
发送方
1. 使用安全哈希函数完成消息完整性检查(MIC)。
2. 发送方使用其私钥对消息内容进行数字签名,将文件内容(包括签名)放入一个 MIME 消息中。
3. MIME 消息,包括文件内容和数字签名,使用接收方的公钥(证书)进行加密。
4. 在通过 HTTP 传输数据之前,添加特定的 AS2 EDI 头,例如 AS2-FROM 和 AS2-TO。此外,请求返回已签名收据。
接收方
5. 检查消息 AS2 头,以验证发送方和接收方是否正确。
6. 接收方然后使用其私钥解密消息。
7. 为了验证发送方(以及有效载荷是否被更改),使用发送方的公钥(证书)验证签名。如果两个步骤都成功,则可以保证数据的完整性和发送方的真实性。
8. 接收方返回签名的收据作为确认(MDN)。此收据包含消息的哈希值(MIC)。因此,发送方确认了接收方的适当身份验证和解密。MDN 也通过 HTTP 传输,可以在同一会话中同步传输,也可以在与发送方原始会话不同的会话中异步传输。
回到发送方
9. 使用接收方证书验证 MDN 的签名,确认 MDN 已经数字签名。
10. MDN 被存储,用于不可否认性或故障排除目的。
其他
以上所述即为对 AS2 工作原理与特性的简要介绍。作为目前全球EDI应用最为广泛的传输协议,具备 AS2 能力对企业而言显得极为重要。拥有 AS2 能力意味着企业能够在电子数据交换领域更加高效和可靠地进行通信。这一强大的传输协议不仅确保了数据的安全传输,还提供了高度可靠的机制,使企业能够快速、准确地交换业务文档。在当今日益数字化和全球化的商业环境中,拥有 AS2 能力为企业打通业务通信的道路,为其在竞争激烈的市场中取得优势提供了坚实的基础。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。