## ES8 (SM-DP - eUICC) 接口通信详解
ES8 接口用于 SM-DP 与 eUICC 之间的通信,主要用于配置文件和密钥集的管理。以下是 ES8 接口通信的详细说明:
### 2.5.1 概述
- **通信路径:**
- SM-DP 与 SM-SR 之间通过 ES3 接口建立连接。
- SM-SR 与 eUICC 之间通过 ES5 接口建立 SCP80 或 SCP81 安全通道。
- SM-DP 的命令和数据通过 ES3 和 ES5 接口隧道传输到 eUICC 的 ISD-P。
- **安全通道:**
- ES8 使用 SCP03 或 SCP03t 安全通道。
- SCP03t 是 SCP03 的变体,专为传输配置文件而设计。
### 2.5.2 SCP03t 安全通道协议
SCP03t 基于 GlobalPlatform 的 SCP03 协议,适用于传输 TLV 结构的数据。
**主要特点:**
- **标签值:**
- 为避免与 ES5 接口的 SCP80/SCP81 冲突,SCP03t 使用特定的标签值。
- **错误处理:**
- 不使用 SW 码,而是使用带有标签号 +'80' 的特殊响应标签指示错误。
- **安全机制:**
- 与 SCP03 相同,使用相同的密钥集。
- 仅支持 MAC + 加密选项,不支持 BEGIN/END R-MAC SESSION。
**主要命令:**
- **初始化更新 (INITIALIZE UPDATE):**
- 用于启动安全通道。
- 封装在标签为 '84' 的 TLV 中,包含密钥版本号、密钥标识符和主机挑战。
- **外部认证 (EXTERNAL AUTHENTICATE):**
- 用于完成安全通道的建立。
- 封装在标签为 '85' 的 TLV 中,包含安全级别、主机密码和 MAC。
**命令和响应数据加密:**
- **命令数据加密:**
- 使用标签 '86' 的 TLV 封装加密的命令数据。
- MAC 和加密方式与 SCP03 相同。
- **响应数据加密:**
- 使用标签 '86' 的 TLV 封装加密的响应数据。
- 如果没有响应数据字段,长度为 '00',不生成 R-MAC。
### 2.5.3 配置文件下载和安装
- **前提条件:**
- ISD-P 已创建并个性化。
- 连接通过 SCP03t 保护。
- SM-DP 创建的配置文件与目标 eUICC 兼容。
- **SCP03t 配置文件的格式:**
- 配置文件包由一系列 PE TLV 组成,但 SCP03t 将整个配置文件包视为一个透明数据块。
- 数据块被分割成最大 1024 字节的段,包括标签和长度字段。
- **命令流程:**
1. SM-DP 发送 `ES3.SendData` 命令,将配置文件数据作为输入数据。
2. SM-SR 验证请求,并将数据转发给 eUICC。
3. ISD-P 接收并处理配置文件数据,安装配置文件。
4. SM-DP 可选择多次发送数据,直到配置文件下载完成。
5. 下载完成后,SM-DP 调用 `ES3.ProfileDownloadCompleted` 函数,指示 SM-SR 配置文件已下载并安装。
### 2.5.4 密钥集建立
- **前提条件:**
- ECASD 证书已提供并由 SM-DP 验证。
- SM-DP 已生成临时密钥对,并拥有 CI 的签名。
- ISD-P 已创建。
- **过程:**
1. SM-DP 发送 `ES3.SendData` 命令,包含 SM-DP 证书,并检索 eUICC 生成的随机挑战 (RC)。
2. SM-DP 使用其私钥对 RC 和临时公钥 (ePK.DP.ECKA) 进行签名,并将签名结果发送给 eUICC。
3. eUICC 验证签名,并使用 ePK.DP.ECKA 和其私钥 (SK.ECASD.ECKA) 计算共享密钥 (ShS)。
4. eUICC 生成派生密钥集 (KS),并将其发送给 SM-DP。
5. SM-DP 使用 eSK.DP.ECKA 和 ECASD 公钥 (PK.ECASD.ECKA) 计算 ShS,并验证 KS。
### 2.5.5 其他 ES8 命令
- 除了配置文件下载和密钥集建立,ES8 接口还支持以下命令:
- 更新连接参数: 使用 SCP03 命令 `ES8.UpdateConnectivityParametersSCP03`。
- 其他平台管理命令: 例如禁用/启用配置文件、删除配置文件等。
### 2.5.6 总结
ES8 接口是 eUICC 远程配置和管理的重要组成部分,负责配置文件和密钥集的安全传输和管理。 SCP03t 协议确保了配置文件传输的安全性,而 SCP03 则用于密钥集建立和其他平台管理命令。 理解 ES8 接口通信机制对于开发安全可靠的 eUICC 解决方案至关重要。