了解 Google Cloud 上的双向 TLS

双向 TLS (mTLS) 是一种业界标准协议,用于在客户端与服务器之间进行双向身份验证。mTLS 协议会验证网络连接两端的客户端和服务器是否都拥有与客户端证书关联的私钥,从而确保它们拥有自己所声称的身份。

什么是客户端证书?

客户端证书(也称为传输层安全协议 [TLS] 证书)是一种包含用于验证设备身份的重要信息的文件。证书信息包括公钥、证书颁发者的声明(证书可由证书授权机构颁发,也可以自签名)以及证书的到期日期。

Google API 如何验证设备身份

TLS 协议使用一种称为公钥基础架构 (PKI) 的技术,该技术依赖于一对非对称密钥:公钥和私钥。使用私钥加密的任何内容只能使用公钥解密。Google Cloud API 使用 TLS 协议,通过在 mTLS 握手期间使用证书的公钥解密由私钥加密的消息来验证设备的身份。成功解密证明了私钥的所有权,而私钥只能从可信设备获取。

如需启用 mTLS 握手和验证流程,客户端必须执行以下操作:

  • 使用特定于 mTLS 的 API 端点与 Google API 建立 mTLS 连接。特定于 mTLS 的端点采用以下格式:[service].mtls.googleapis.com

  • 在 mTLS 握手期间发现并使用设备证书。如果您使用端点验证来部署证书,受支持的客户端会自动发现并使用此类证书。

下图展示了客户端与 Google API 服务器之间的 mTLS 握手:

客户端与 Google API 服务器之间的 mTLS 握手

后续步骤