我了解发行人与主体证书之间的关系如何验证主体的真实性。如果我连接到联网设备,并且它向我发送证书以标识自己,那么我可以验证它是由可信方发出的,并且它没有以任何方式被篡改。但是,假设我只是将此证书上传到其他设备。那么是什么阻止我让这个设备使用复制的证书来标识自己呢?数字证书如何证明设备的身份?
4
A
回答
2
没有什么能阻止你这样做。我一直在工作中看到这一点。唯一能够阻止某人拿到证书并将其安装在某个位置的原因是,有一个与证书关联的密码。所以你不知道该设备是谁说的是真的,但你知道知道该证书密码的人能够将其安装在设备上。用户ID和密码认证有其优点和缺点,证书也是如此。
1
对于客户端设备对远程服务器进行身份验证,客户端需要拥有与证书相关的私钥而不仅仅是证书。
例如,在客户端SSL认证中,客户端用其私钥签名(加密)一些挑战。该私钥对应于其证书中的公钥。与证书中的公钥不同,客户端必须保证其私钥安全。
服务器然后使用客户端证书中的公钥来验证客户端的签名。
但是,服务器只应该依赖证书中的公钥来验证客户端签名,如果它信任颁发CA,证书仍然处于有效期内,并且尚未被吊销。
2
在我看来,这是对部分由各个营销部门驱动的证书的常见误解。任何类型的证书都不能保证通信链路另一端的设备是您认为的设备。
所有的证书都可以提供公钥/私钥机制来保护您在两台设备之间传递的信息。这样可以防止第三方在数据跨越潜在的数百个设备时嗅探数据。
它不能保证设备的另一端是谁或谁拥有它。一些证书颁发者将尝试验证证书申请者在颁发证书之前是谁。但是,即使这个过程有缺陷,也很容易被颠覆。
1
设备可能会试图假装它是由证书标识的设备。但是,只要传递给它的数据使用证书中提供的公钥加密,因为这样做不会有任何好处,因为不正确的设备不会拥有私钥。
它可以实现的最好方式是通过丢弃传递给它的通信来实现拒绝服务攻击。
相关问题
- 1. 身份验证证书
- 2. Azure中的客户端证书身份验证和CA证书
- 3. 声明身份验证取代STSTestCert生产用证书
- 4. 使用数字证书进行双因素身份验证
- 5. WCF身份验证-X509证书
- 6. 证书,加密和身份验证
- 7. Kubernetes身份验证与证书
- 8. Windows Phone设备唯一身份证
- 9. 如何在SOAP中使用基于证书的身份验证?
- 10. 如何使用httr为基于证书的身份验证指定证书,密钥和根证书?
- 11. 如何支持SSL客户端证书身份验证?
- 12. 如何使用证书身份验证来调用HTTPS URL
- 13. 如何在Simple.OData.Client中使用证书身份验证?
- 14. 蜂窝网络如何验证设备的身份?
- 15. 移动设备上的Facebook身份验证如何工作?
- 16. 无法找到com.xyz.profile.mdm的身份证书?
- 17. 检查SSL证书的身份
- 18. 如何设置asp.net mvc身份的自定义身份验证?
- 19. 使用备份本地身份验证的Apache radius认证
- 20. Microsoft身份证与身份证DI
- 21. WCF客户端证书验证+ Windows身份验证
- 22. Windows身份验证/表单身份验证?如何最好地设计系统?
- 23. 你如何验证数字证书SSL?
- 24. 设计和身份验证
- 25. Zend LDAP身份验证 - 如何设置身份和getIdentity
- 26. 如何访问身份验证页面中的表单身份验证票证
- 27. Windows身份基础WCF服务证书
- 28. 从小书签检查身份验证
- 29. 流明中的用户身份验证
- 30. 流明的基本身份验证
是用于身份验证的私钥吗?我以为它只用于创建子证书... – StackedCrooked 2010-04-23 20:09:03
不,我只是在大脑中进行身份验证,因为我正在研究,当我看到您的问题时 – 2010-04-23 20:18:53