了解 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 握手期间发现并使用设备证书。如果您使用 Endpoint Verification 进行证书部署,受支持的客户端会自动发现并使用此类证书。

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

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

后续步骤