在应用程序范围内使用相同的客户端证书是否安全?

时间:2018-02-15 13:41:03

标签: security ssl encryption grpc client-certificates

假设我有移动应用和服务器通过TLS加密的gRPC API(或任何HTTP TLS API)进行通信。

我希望服务器将客户端证书检查为额外保护层(不是主要身份验证机制)。

使用相同的客户端证书+密钥对发送应用程序二进制文件是否安全,或者是否可以使MiTM攻击成为可能,例如,如果有人对应用程序二进制文件进行逆向工程并获取客户端证书+密钥,是否可以恢复会话密钥和解密流量?

1 个答案:

答案 0 :(得分:1)

如果您使用的是TLS 1.2协议且证书证明了签名密钥(gRPC就是这种情况),则只要客户端验证服务器的证书和服务器证书,就无法进行MITM攻击没有妥协。即使客户端不使用证书,也无法进行MITM攻击。

但是,添加客户端证书和使用相互TLS的价值尚不清楚。什么"额外的保护层"你想实现吗?如果您在客户端应用程序中对私钥进行硬编码,您知道可以通过足够的努力对其进行反向工程。