gpt4 book ai didi

java - 将相同的 keystore 用于信任库和服务器库时出现安全问题?

转载 作者:行者123 更新时间:2023-11-29 09:19:24 29 4
gpt4 key购买 nike

信任库(用于验证客户端的证书)和服务器库(服务器使用的私钥)使用相同的 keystore 是否存在安全问题?我问这个是因为我知道有人建议有两个单独的文件(我想知道为什么会这样)。

最佳答案

I know that there is a recommendation to have two separate files (for the trust store and the server store)

这样建议的原因是您通常只在信任库中存储公钥和受信任 CA 的相关证书,而 keystore 旨在存储私钥和关联的公钥(以及相关证书) .

当您开始将两者作为单个文件进行管理时,任何知道信任库密码的代理(用户甚至应用程序代码)都很有可能也可以读取和修改 keystore 的私钥。这不是您想要的,因为私钥本质上应该是私有(private)的,并且只有一个实体(拥有 key 的实体)知道。

同样,代理也可以通过知道 keystore 密码来修改信任库,以将证书添加到信任库。就其本身而言,这可能看起来是良性的,但通常多个客户端可以使用相同的信任库(如 JRE 的 cacerts 文件),导致一个代理可以破坏信任关系的场景(通过添加将恶意 CA 的证书存入信任库)在客户端和服务器之间。

实际上,建议更像是一种纵深防御实践,除非您的代理不值得信赖(在这种情况下,您应该采用其他几种实践)。

关于java - 将相同的 keystore 用于信任库和服务器库时出现安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7387859/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com