Mui*_*uis 8 .net cryptography rsa rsacryptoserviceprovider cryptoapi
我刚读过这篇文章,阻止了1024位以下的RSA密钥,在我的.NET软件中,我大量使用了384位密钥.我的程序是否仍然可以使用RSACryptoServiceProvider从MachineKeyStore生成/存储/读取密钥?或者我会被迫发送补丁?
这是对评论中提出的问题的建议答案。
您可能会找到一种使用对称方法对客户端进行身份验证的方法。我假设您现在使用的是典型的 RSA 签名方案,其中消息哈希由客户端私钥签名,然后可以通过公钥进行验证。
您也许可以执行持久密钥的交换,然后使用该密钥而不是非对称密钥对消息摘要进行加密。您仍然可以保证发送消息的人知道密钥,尽管您无法验证消息是由客户端还是服务器发送的(因为两者都知道密钥)。如果客户端在身份验证期间向服务器提出质询,这将有助于防止中间人攻击(尽管客户端需要在本地嵌入服务器的公钥)