C# RSA和其他安全功能

C# RSA和其他安全功能,c#,asp.net,security,rsa,C#,Asp.net,Security,Rsa,我的是c#上的一个asp.net网站 我必须执行一个操作,并希望在执行该操作之前进行授权和身份验证,因为它非常关键 我可以提供正常的用户和密码。但除此之外,我如何确保它的安全 我可以提供更多级别的安全功能 如何实现RSA??在这种情况下?让我们直接了解术语,以确保我理解您的问题 RSA是一种加密算法。您要求的是身份验证和身份验证 该公司RSA Inc.提供包括双因素身份验证在内的产品 加密:防止任何没有正确密钥的人读取消息或频道的一种方法 身份验证:代理代表特定真实用户行事的证据 授权:通道另一

我的是c#上的一个asp.net网站

我必须执行一个操作,并希望在执行该操作之前进行授权和身份验证,因为它非常关键

我可以提供正常的用户和密码。但除此之外,我如何确保它的安全

我可以提供更多级别的安全功能


如何实现RSA??在这种情况下?

让我们直接了解术语,以确保我理解您的问题

RSA是一种加密算法。您要求的是身份验证和身份验证

该公司RSA Inc.提供包括双因素身份验证在内的产品

加密:防止任何没有正确密钥的人读取消息或频道的一种方法

身份验证:代理代表特定真实用户行事的证据

授权:通道另一端的用户或代理可以合法请求行使权力的证据

双因素认证:通过两个渠道证明真实性。如果这两个通道是独立的,这可能是更有力的证据

有几种方法可以获得一定程度的信心,即向您发送消息的机器是代表用户(而不仅仅是安装在其计算机上的恶意软件或从其身后偷看的人)行事的,并且用户就是他们所说的用户


多个独立的通道是一个好方法。如果您能够可靠地获取用户的手机号码,然后让他们通过网页提供一组凭据,然后向他们发送带有嵌入秘密链接的确认短信,将建立第二个通道。他们计算机上的恶意软件可以欺骗一个通道,但只有当攻击者能够在两台设备上都获得恶意软件时,您才能获得认证误报。

RSA是基于签名的认证最常用的选择之一。例如,您可以使用SSH。问题在于如何将这种算法正确地集成到协议中

最简单的解决方案可能是使用带有客户端证书的SSL/TLS


这家公司可能会提供你所需要的。特别是,采用
RemoteCertificateValidationCallback
LocalCertificateSelectionCallback
的构造函数重载看起来很有希望。

您可以使用diffie-helman算法,允许您使用meccanism来交换simmetric crittography密钥。。。您可以阅读一些关于wikypediaDH算法的内容,该算法允许我加密密码并在两端创建密钥。我想我不想要那个。我想要的是,当一个人被授权在我的网站上执行特定的关键操作时,我如何确保这个人是真实的,而不是有权访问他的机器或破解密码并使用真实的个人帐户登录的人。除了用户名/密码,我还能想出什么?这正是我的意思。我想要身份验证和授权,我认为RSA可以用于提供加密。如果你能提供更多的确认短信和更多这样的方式。我只是想确保授权的用户实际上是应该授权的用户,而不是被黑客攻击或意外访问的用户。@prateekmalpani。是的,加密有助于防止通道上的窃听,因此在实践中与身份验证或授权关系不大,但可以帮助防止中间人攻击,即消息在传输过程中发生更改。相关的算法,称为签名算法(如DSA),可以帮助确认消息来自知道密钥的人,因此可以帮助进行身份验证。我想要的是,当一个人被授权在我的网站上执行特定的关键操作时,我如何确保此人是真人,而不是有权访问其计算机或破解密码并使用真人帐户登录的人。除了正常的基于windows的身份验证之外,我还能想出什么@prateekmalpani,您需要第二个独立通道进行验证。短信是第二频道的一个不错的选择,在那里你可以可靠地获得用户的手机号码。在可行的情况下,安全令牌也是一个不错的选择:。银行经常发送蜗牛邮件,以确保此人知道所发生的变化,这些变化无法防止黑客攻击,但确实很难长期自动颠覆许多账户。有些人用CAPTCHA和像母亲娘家姓这样的问题来过滤机器,但我对此持怀疑态度。嗯。。。我对双因素身份验证进行了更多研究,RSASecurId帮助很大。非常感谢你。此外,基于SMS的身份验证也是一个不错的选择。:)你能给我提供一些我可以研究和实现的链接吗?@prat SslStream看起来很有希望。