对不起我的英文不好。我已阅读关于安全性并了解RSA如何工作。 但是RSA如何保持身份验证,中间人可以使用公钥和假消息。而且,如何保持不可否认性,向您发送用公钥加密的消息的人可以说它不是来自他并且是伪造的?RSA如何保持身份验证和不可否认
1
A
回答
2
有some math behind RSA PKI(公钥基础设施),但我会尽量保持简单。尽管这种情况在许多其他网站和问题/答案中都有描述。你无法理解什么?
想法是,用公钥加密很容易,但不可能解密。解密只能使用私钥进行。
似乎你的问题是瞄准别的地方。你错过了什么(并且不是RSA本身的一部分)是certificates。证书可以使用RSA。证书是关于公钥持有者的信息。仍然 - 有一个问题。如果一个实体(人员,网站)为您提供证书,您如何确定该验证机构真正属于该网站,个人或组织?
这就是为什么存在定义的术语认证机构(CA) - 您(或您的浏览器)应该信任的组织。
因此,当网站创建其RSA密钥对时,某些证书颁发机构会颁发签名证书(绑定到公钥),证书确实来自网站,个人或组织。
一个男人在中间可以你公钥和假消息回来。
您的客户端(浏览器,应用程序)必须有一个可信证书颁发机构的列表。通常它已经存储在你的系统中。所以真正的网页可以提供公钥和证书,并使用基于公钥的加密。浏览器检查证书是否有效,并由可信机构颁发。
“中间人”无法提供有效和可信(由CA签名)证书。
而且它是如何保持不可否认,人谁送你一个 消息通过公钥加密可以说,这是他没有 ,它是假的?
签署也是一样。一旦使用私钥对数据进行签名(或认证),签名可以由使用公钥的任何人验证。证书绑定到公钥。通常,签名证书仅在证书颁发机构验证身份(例如电子身份证,代码签名证书等)时才会颁发。因此,任何人都可以验证签名是由受信任机构验证的人创建的。
相关问题
- 1. ASP.NET Membership保持身份验证问题
- 2. 如何进行身份验证与令牌(在iPhone保持认证)
- 3. Zuul是否支持OAuth身份验证?
- 4. ASP .NET Core Identity默认身份验证与JWT身份验证
- 5. 如何在事务回滚时保持身份认证?
- 6. SimpleMembership MVC 4保持身份验证,但未验证
- 7. 如何使用Forms身份验证保留默认页面?
- 8. 如何使用JWT保持使用API进行身份验证
- 9. 如何保持身份验证发布到Twitter的API?
- 10. Google云消息传递是否提供/支持身份验证,完整性和不可否认性?
- 11. ASP.NET窗体身份验证和持久性身份验证Cookie安全
- 12. 如何在Java中集成RSA自适应身份验证?
- 13. 是否可以在asp.net身份验证中禁用双因素身份验证?
- 14. j_security_check身份验证是否可以跟随其他Web身份验证机制?
- 15. 如何保留ASP.NET窗体身份验证Cookie,Http到Https(不同域)和身份验证?
- 16. 重定向到PayPal时,ASP.NET身份验证将保持不变
- 17. 用户进行身份验证,但不保持登录Laravel 5.3
- 18. Passport.js可选身份验证
- 19. Rails身份验证和授权不保证浏览器会话?
- 20. 是SQL Server身份验证和Windows身份验证
- 21. Ajax:HTTP基本身份验证和身份验证Cookie
- 22. 表单身份验证和身份验证票据Cookie域
- 23. Azure身份验证和OAuth身份验证
- 24. Google身份验证和Facebook身份验证
- 25. CakePHP 2.0身份验证和基本身份验证
- 26. RESTful端点的身份验证 - 基本身份验证和XHR
- 27. 多个身份验证方案和WWW身份验证挑战
- 28. NTLM身份验证不可能的AppEngine
- 29. Azure AD B2C - 身份验证挑战不触发身份验证
- 30. Zend LDAP身份验证 - 如何设置身份和getIdentity
单靠RSA不能阻止中间人,这就是证书的用途。对于不可否认性,发件人使用_private_键创建签名。 –