2010-04-23 85 views
4

我了解发行人与主体证书之间的关系如何验证主体的真实性。如果我连接到联网设备,并且它向我发送证书以标识自己,那么我可以验证它是由可信方发出的,并且它没有以任何方式被篡改。但是,假设我只是将此证书上传到其他设备。那么是什么阻止我让这个设备使用复制的证书来标识自己呢?数字证书如何证明设备的身份?

回答

2

没有什么能阻止你这样做。我一直在工作中看到这一点。唯一能够阻止某人拿到证书并将其安装在某个位置的原因是,有一个与证书关联的密码。所以你不知道该设备是谁说的是真的,但你知道知道该证书密码的人能够将其安装在设备上。用户ID和密码认证有其优点和缺点,证书也是如此。

+0

是用于身份验证的私钥吗?我以为它只用于创建子证书... – StackedCrooked 2010-04-23 20:09:03

+0

不,我只是在大脑中进行身份验证,因为我正在研究,当我看到您的问题时 – 2010-04-23 20:18:53

1

对于客户端设备对远程服务器进行身份验证,客户端需要拥有与证书相关的私钥而不仅仅是证书。

例如,在客户端SSL认证中,客户端用其私钥签名(加密)一些挑战。该私钥对应于其证书中的公钥。与证书中的公钥不同,客户端必须保证其私钥安全。

服务器然后使用客户端证书中的公钥来验证客户端的签名。

但是,服务器只应该依赖证书中的公钥来验证客户端签名,如果它信任颁发CA,证书仍然处于有效期内,并且尚未被吊销。

2

在我看来,这是对部分由各个营销部门驱动的证书的常见误解。任何类型的证书都不能保证通信链路另一端的设备是您认为的设备。

所有的证书都可以提供公钥/私钥机制来保护您在两台设备之间传递的信息。这样可以防止第三方在数据跨越潜在的数百个设备时嗅探数据。

它不能保证设备的另一端是谁或谁拥有它。一些证书颁发者将尝试验证证书申请者在颁发证书之前是谁。但是,即使这个过程有缺陷,也很容易被颠覆。

1

设备可能会试图假装它是由证书标识的设备。但是,只要传递给它的数据使用证书中提供的公钥加密,因为这样做不会有任何好处,因为不正确的设备不会拥有私钥。

它可以实现的最好方式是通过丢弃传递给它的通信来实现拒绝服务攻击。