我正在寻找有关使用证书构建相互身份验证系统的最佳实践建议。我想创建一个系统,其中包含多个 IoT 设备向 Web 服务器报告数据,其中服务器和客户端都需要相互验证。我正在考虑使用一个根证书颁发机构(个人证书颁发机构)和一个中间证书颁发机构用于服务器证书,另一个用于客户端证书。
根 CA 签署中间 CA (x2),一个签署服务器证书,一个签署客户端证书。
将来根 CA 可能会签署另一个中间 CA。
这有意义吗?还是为服务器和客户端实现单独的根 CA 更好?
由于我要使用自签名证书,为了让一方验证另一方,我是否必须向所有人提供根证书?还是中级证书?如果其中一台设备遭到入侵,会发生什么?(撤销?)
很抱歉有多个问题,但后续问题与主要问题有关。证书链应该如何设计?哪种方法更安全?