ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

ISO15118-2 解读2——V2G中的证书

ISO15118-2 解读2——V2G中的证书 一、前言在进入本章学习之前0基础的宝子先去看下我 DIN70121 和 ISO15118-2 的PKI体系这两篇文章哦本章接着继续讲证书又又又又又是它二、差异点下图是 ISO15118-2 的整体流程框图。其实无论是前面 SLAC 阶段、SDP、IP也好其实跟DIN70121 是一样的毕竟DIN70121 就是 ISO15118-2 的前身或阉割版其最大的差异在于1、TCP建立后需要建立TLS 安全通道2、V2G 流程增加了证书相关内容接下来我们针对这两差异点去展开 ISO15118-2 的解读上车起飞~~~三、TLS中的证书1、TLS 四次握手在 TCP 建立成功后EVCC做 TCP ClientSECC 做 TCP Server。EVCC 发起 Client Hello进行 TLS 四次握手建立 TLS 通道。TLS 四次握手咱这里就不细说感兴趣的宝子查阅别的博主就好啦这里我们主要重点讨论下交互的哪些证书wireshark中的TLS以下举例单端认证主包目前只有单端认证的数据了1、Client Hello Client 发1握2、Server Hello Server 回2握3、CertificateServer Key ExchangeServer Hello Done Server 回2握3.1、Certificate3.2、Server Key ExchangeServer Hello Done4、Client Key Exchange Client 发3握5、Change Cipher SpecEncrypted Handshake Message Client 发3握6、Change Cipher Spec Server 回4握7、Encrypted Handshake Message Server 回4握8、TLS四次握手后双方交互的是 Application Data 密文2、EVSE 证书验证流程在 TLS 四次握手中EV 校验了 EVSE 端的 EVSE Leaf CA、CPO Sub CA 的合法性。以下是假设 EVCC 不具备校验证书的能力但实际上 EVCC 应该具备检验证书的能力的四、V2G报文中的证书在本小结中咱们依旧讨论跟证书相关的 V2G 报文前面已经说了在 TLS 阶段已经完成对EVSE Leaf CA、CPO Sub CA 的验签那下面将讲述何时对 EV 相关证书的验签。再提一嘴证书上是附带公钥但不会附带私钥的私钥是证书持有者收藏的。4.1、PaymentDetails1、PaymentDetailsReqEVCC 发起 PaymentDetailsReq并携带以下参数。1、eMAID2、ContractSignatureCertChainCertificate附带的是 EV 的 ContractCertificateSubCertificates可以附带多个 MO Sub CA主要是 MO Sub CA1、MO Sub CA2 等2、PaymentDetailsResSECC 响应回复 PaymentDetailsRes并携带以下参数。3、EV 证书验证流程一般情况下EVSE 基本只做与 EV 通信的中间传递者也就是说通常 EVSE 不去验证书而是CPO 运营平台统一做证书验证管理。实际上SECC 要具备校验证书的能力4.2、CertificateUpdate证书更新请求是在 EVCC 有证书的前提下需要更新证书如下描述。1、CertificateUpdateReqEVCC 发起 CertificateUpdateReq并携带以下参数1、ContractSignatureCertChainCertificate附带的是 EV 的旧的 ContractCertificate这合同证书准备过期了。SubCertificates可以附带多个 MO Sub CA主要是 MO Sub CA1、MO Sub CA2 等2、ListOfRootCertificateIDs表明设备支持哪些根证书体系例如 V2G Root、OEM Root、CPS Root 等2、CertificateUpdateRes1、SAProvisioningCertificateChainSAP供应证书链其结构跟 ContractSignatureCertChain 一样只是包含不同的证书。Certificate附带的是 Leaf Prov Certificate这个是 Provisioning Service证书供应服务平台的。SubCertificates可以附带多个 Prov Sub CA主要是 Prov Sub CA1、Prov Sub CA2 等。2、ContractSignatureCertChainCertificate附带的是 EV 的 New ContractCertificate从 Provisioning Service 平台获取的新合同证书SubCertificates可以附带多个MO Sub CA主要是MO Sub CA1、MO Sub CA2。ContractSignatureEncryptedPrivateKeyContractCertificate 的私钥。4.3、CertificateInstallationEV 首次充电需要注册一个身份即需要进行合同证书安装记住一般是首次充电哦1、CertificateInstallationReqOEMProvisioningCertCertificate附带的是 OEM Prov Certificate。SubCertificates可以附带多个 OEM Sub CA 主要是 OEM Sub CA1、OEM Sub CA2 等2、CertificateInstallationRes1、SAProvisioningCertificateChainCertificate附带的是 Leaf Prov Certificate这个是 Provisioning Service证书供应服务平台的。SubCertificates可以附带多个 Prov Sub CA主要是 Prov Sub CA1、Prov Sub CA2 等。2、ContractSignatureCertChainCertificate附带的是 EV 的 New ContractCertificate给 EV 首次充电安装的 New ContractCertificate。SubCertificates可以附带多个MO Sub CA主要是MO Sub CA1、MO Sub CA2。3、ContractSignatureEncryptedPrivateKeyContractCertificate 的加密私钥合同证书的私钥不允许明文传输故这是加密过的合同加密私钥。4、DHpublickey会话密钥的公钥3、DHpublickey ?SECC 在 CertificateInstallationReq 中已经获取到OEM 证书其包含OEM public keyOEM 公钥1、生成临时 ECDH 密钥对ecdh.d临时私钥ecdh.Q临时公钥 这个就是DHpublickey2、OEM public keyOEM 公钥ecdh.d临时私钥 —— ECDH 计算共享密钥shared secret3、shared secret使用 KDF 派生AES‑128 symmetric keyAES‑128对称密钥AES‑128 symmetric key4、生成随机 IV5、初始化 cipher6、将 AES‑128 symmetric key 设置到 cipher7、再将 IV 设置到 cipher8、cipher Contract CA private key 合同证书私钥 —— 执行 AES‑CBC 加密encrypted data9、encrypted data 拼接 IV ——ContractSignatureEncryptedPrivateKey10、流程图简记版11、EVCC 端解密EVCC端使用OEM private keyOEM 私钥DHpublickeyecdh.Q临时公钥解密ContractSignatureEncryptedPrivateKey 后得到真正的 Contract private key。4、Contract CA 下载1、证书更新 or 安装都需要在 SECC 能连接 CPS(Certificate Provisioning Service) 时才允许。在前一篇我们知道访问哪个 CPS 是根据 EVCC 提供的 EMAID。2、CPS 需要使用 Leaf Prov CA 签名合同证书相关的内容确保合同证书、合同私钥均来自该合法的 CPS。3、EVCC 收到 CertificateUpdateRes/CertificateInstallationRes 的合同证书需要用验是否来自合法的 CPS V2G Root -- Prov Sub CA1 -- Prov Sub CA2 -- Leaf Prov CA4、CertificateUpdate 和 CertificateInstallation 的小区别CertificateUpdate 是验旧的 Contract CACertificateInstallation 则是验OEM Prov CA。五、总结基于目前这两章的学习对于如下 PKI 体系中的框选的证书结构我们已经清楚其相应的证书在整个流程中的哪些地方起作用了。
返回列表