是否使用强大的命名组件来保护插件安全?

我正在寻找方法来防止未知方将他们自己的包含恶意代码的PlugIn插入到我的应用程序中。 我跑过这篇文章

.NET Assembly插件安全性

它向Strong Name建议程序集,并检查它是否以强加载的预期密钥命名。

但是,当我在本站查看有关强命名程序集的MSDN文档时

强大的组件

有一个警告说

不要依赖强名来保证安全。 他们只提供一个唯一的身份。

这是什么意思? 它们指的是什么安全性,这与我提供的上述堆栈溢出链接中的答案有关?


这是一个有趣的评论。 据我所知,一个签名的程序集表示1)它已经用某个键签名,2)签名后不能被修改

在第1点,钥匙的安全性非常重要,因为任何带钥匙的人都可以修改和重新签署装配。

在第二点上,我看到了一个成功修改程序集的例子,同时仍然通过了强名称验证。 这不是微不足道的。

因此技术上正确的是,您可以使用它来验证身份,但不一定是安全 - 或者说身份验证(插件已签名且未被篡改)与授权(代码本身有权执行特定操作)之间的区别。

身份验证与授权

链接地址: http://www.djcxy.com/p/22251.html

上一篇: Is using a strong named assembly for Plug In secure?

下一篇: wso2 api manager clustering