gpt4 book ai didi

.net - 为什么不应该使用强命名来保证安全?

转载 作者:行者123 更新时间:2023-12-02 01:43:25 26 4
gpt4 key购买 nike

我在很多地方都读到过这个声明,并让人们直接告诉我这一点,但我无法找到关于不能将强名称用于安全性的完整原因列表的结论性答案。

我知道强名称功能的目的是识别而不是安全,但我正在寻找对使用强命名来确保安全性可能导致的任何安全问题的解释。

我想知道:

  • CLR 在加载时在验证程序集的强名称方面开箱即用的操作。
  • 强命名的哪些功能使人们尝试使用它来确保安全。
  • 强命名有哪些限制使其不适合安全。
  • 我们应该怎么做才能实现人们使用强命名的安全性?

  • 我不是在寻找什么:
  • 强命名对版本控制程序集的限制
  • 与OSS相关的问题(例如,必须隐藏私钥,这给贡献者带来困难)
  • 最佳答案

    人们告诉你不要为了安全使用强命名(我假设你的意思是完整性检查)的原因是它不再有效。

    从 .NET 3.5 SP1 开始,.NET 程序集加载器不再验证强名称程序集的完整性。如果你想防止程序集在磁盘上被修改,你必须使用 Authenticode .

    这些链接描述了变化、异常及其背后的原因(启动速度):

  • http://blogs.msdn.com/b/shawnfa/archive/2008/05/14/strong-name-bypass.aspx
  • http://www.outercurve.org/blog/2014/03/25/Strongnaming-I-Do-Not-Think-It-Means-What-You-Thin/
  • 关于.net - 为什么不应该使用强命名来保证安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180915/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com