在家庭自动化场景中,智能网关可以将众多智能设备与互联网连接起来。在许多情况下,服务器的公共证书在制造期间存储在嵌入式系统的 ROM 中。
例如,在AlertMe网关的情况下,每个网关设备都制造有唯一的 ID。此外,它还持有 ROM 中的 AlertMe 服务器的公共证书。首次启动时,网关设备生成一个随机 RSA 密钥对,连接到 AlertMe 服务器,验证服务器的身份(使用 ROM 公共证书),并为服务器提供其随机公钥。
我的问题是,由于在 SSL/TLS 连接中服务器会将其证书发送到网关,为什么网关必须在首次启动之前将公共证书存储在 ROM 中。如果如其所说,是为了验证目的,那么网关如何验证服务器的身份呢?它是否只是将 ROM 中的网关证书与 SSL 握手时发送的服务器证书进行比较?嵌入式系统不能联系CA,验证服务器的身份吗?
此外,在首次启动时,网关将生成 RSA 密钥对,然后生成证书。在基于 Linux 的网关/嵌入式系统中存储密钥的最安全位置在哪里?