您是否支持代码签名

2025-07-02 01:30:02 7
  • 收藏
  • 管理

    您支持代码签名证书吗?目前,我们计划只颁发用于TLS服务器身份验证的证书,而不用于任何其他目的。

    今天使用的代码签名证书是试图确定软件来源是恶意还是合法的系统的一部分。我认为,在不检查申请者真实身份的情况下,通过自动流程免费发放证书时,We‘s Encrypt不会轻易扮演这样的角色。我们可以确认代码签名证书申请者控制着像iurewnrjjqoiw.biz这样的域名,但这不会让用户或操作系统开发人员有太多能力知道该申请者发布的软件是可信的还是恶意的。

    就像iurewnrjjqoiw.biz一样,

    这个域名里有没有隐藏信息?,没有!这只是一个例子,人们可以用最少的投资轻松获得域名。在未来,是否可以考虑增加一个例外,允许公认的开放源码软件受益于代码签名证书?有几个CA都有这样的程序。@don-VIP,这可能不太适合我们加密,因为我们关注的是可以以完全自动的方式颁发的证书(TLS服务器的DV证书可以是这样的)。这使我们能够大规模免费发放证书。在我看来,人们似乎希望代码签名证书包含对主体的某种身份验证,就像TLS的OV或EV证书所做的那样。这不是我们可以自动完成的事情;我们需要与外部世界进行某种线下联系,以确认线下身份。

    外面的世界

    是的,“外部世界”。,FWIW,我会争辩说,域验证的代码签名证书肯定有一定的价值。由于现在软件通常是以下载的形式分发的,将作者与域联系起来似乎是很自然的。例如,如果我下载了最新的Firefox,并且二进制文件是由控制mozilla.org的人签名的,我可以非常确定它是合法的。

    即使知道有人验证了Mozilla基金会的法律文件,也不会增加太多信任。有人可以在加勒比海的某个地方注册100%合法的“Mozilla公司”,并获得有效的代码签名证书。

    我不知道让操作系统供应商支持这种方法有多难,但我认为至少值得考虑一下。拥有域验证的代码签名证书可以解决相当多的痛点,特别是对于开源(通常没有公司与之关联),我完全同意。举个例子:当我安装FileZilla时,Windows告诉我它的签名是“Tim Kosse”。普通用户如何知道“Tim Kosse”是FileZilla的合法作者?我甚至在Filezilla网站上找不到一个印记来检查这个名字。维基百科知道,但这有多可信呢?

    如果下一个版本的署名是“巴特·辛普森”,我不知道巴特是加入了FileZilla项目,还是试图攻击我。如果上面写着“由filezilla-project t.org的所有者签名”,那么我至少应该知道,签名的那个人现在已经控制了我获得下载链接的网站。所以,如果攻击者控制了域,这是危险的吗?在当前系统中,假设攻击者控制了filezilla-project t.org。他可以很容易地把我引到一些由“巴特·辛普森”签名的恶意下载,我不会注意到问题,因为我不知道巴特·辛普森是否值得信任(好的,在这种情况下,…)。.,hi@Crazy4chrissi

    使用代码签名证书还有其他几个挑战

    A)只有某些语言支持代码签名和验证

    B)保护用户免受代码攻击的其他方式:PGP签名,但这再次依赖于您信任PGP代码

    MD5 hasshum-这依赖于您信任发布散列和的网站没有被更改

    总的来说,代码签名是一个相当复杂和年轻的领域

    大多数代码被签名或散列,然后散列被发布以供其他人验证

    我相信这方面的下一次迭代将是区块链,它将允许达成共识,并公开代码及其签名的记录。

    然后,出版社/开源项目的验证可能会集中起来,这将带来更多的信任。

    安德烈,答案是021:

    我相信这方面的下一次迭代将是区块链,它将允许达成共识,并公开代码及其签名的记录。

    然后,出版社/开源项目的验证可能会集中起来,这将带来更多的信任。

    有一种Mozilla一直在使用的机制(这并不是这一领域的唯一工作):

    我认为他们的进展比他们在那里记录的更远。

    然而,Windows代码签名模型似乎从一个完全不同的方向来解决这个问题。

    Windows的概念似乎是,用户“在世界上”找到一些代码,然后尝试在他们的系统上使用它,然后面对一个问题:“谁发布了这些代码?”以及“这段代码的发布者是否还好?”

    我们在其他透明项目和Unix包管理中也看到的Mozilla概念更像是“我想从Mozilla那里获得软件;它在哪里,我如何确保他们给我的软件真的来自他们?”

    这就是说,在Mozilla的方法中,用户已经确切地知道他们希望代码来自哪个发行商(或发行商,如Canonical或其他),然后工程问题是如何重新检查他们所获得的代码是否真的来自该发行商。而在Windows方法中,用户似乎以某种随机的方式遇到事情(可能是通过广告、营销或社交渠道?)然后工程问题是如何复查他们所得到的是从某个人那里得到的,或者是否有某种实体对它的非恶意负责。从我们的角度来看,作为开发人员和我的公司的项目,我们一直使用带有自动请求的CoDesign(不是扩展或手动联系选项),考虑到它是自动的,你不能真正100%保证它是合法的,这比100%安全的封条更接近安全的一步,上面写着“这肯定是合法的和非恶意的软件”。即使使用手动检查,您也不能真正保证软件是合法的,并且它不会包含恶意代码:以不久前的CCleaner问题为例。

    从我们的角度来看,它更像是:“Owkey,我已经从他们的网站上下载了,并带有他们的签名。Windows不再抱怨它,浏览器可以下载它,我的反病毒或网上银行插件也不再阻止它,所以它听起来是合法的。

    我确实理解,整个世界并不是围绕着同样的想法,但我假设,使用今天所做的域名进行自动检查是可能的,这确实有一些价值。对于我(和我的联盟)来说,如果你需要(或想要)一些深度的安全性,100%经过验证,并用双重扩展的手动验证来密封,这可能是一个“选择加入”的功能。因此,在这种情况下,如果您需要这种类型的安全证书,您可以从Super.trusted.inc.com(或者甚至从We‘s Encrypt,谁知道呢?)购买一个,就像您可以使用扩展/手动验证和数千美元保修的SSL/TLS证书一样,因为从什么时候开始使用代码签名来检查代码是否恶意?这根本不可能。

    它被用来验证代码的来源和完整性。这只是一个想法-密钥库使用公开的要点作为一种方式来验证你就是你。

    LE可以以同样的方式使用git repo中的文件吗?嗨,

    Way New:

    LE可以以同样的方式使用git repo中的文件吗?

    以志愿者的身份发言。我不这么认为,因为代码签名需要使用更多的东西,而不是“社交媒体帐户”,或者你的电话号码等。请求代码签名证书的过程类似于请求组织验证TLS证书的过程。

    此外,使用GIST托管一些个人信息可能不是一个好主意(你不想让你的护照号码、街道地址、驾照号码或社保号码暴露给公众……),使用代码签名仍有可能是恶意软件。没有什么比代码签名更能保护您免受恶意代码的攻击。但关键是代码签名指的是创建者。应用程序不能为其他应用程序更改,这就是关键!为什么LetsEncrypt不提供基于域的签名证书?使用相同的认证方法,将可能知道软件是否来自mysoftware.com域的合法所有者,例如Hi@jamesxt94,

    如果许多用户不采取这种预防措施,我们能指望他们会采取预防措施,查看假想的启用代码签名的DV证书中提到的域,并考虑它是否属于他们期望的组织吗?

    (我可以想到几个原因,为什么这在其安全属性或它为软件发行商提供的选项方面不完全相同,但我很好奇您在这里寻找的是什么属性。)

    此外,我不太熟悉供应商的根程序对代码签名证书的策略,但我的印象是,他们通常不允许将代码签名证书颁发给域名,而不是颁发给指定的个人或法律组织。CA/Browser论坛有一份关于代码签名的草案,该草案发布在

    Cabforum.org

    Code-Signing-Requirements-2015-11-19.pdf

    780.54 KB

    并后来作为单独的工作组文件印发(未获论坛通过)

    Casecurity.org

    Minimum-requirements-for-the-Issuance-and-Management-of-code-signing-.pdf

    701.71 KB

    微软根程序策略的第14点,位于

    表示颁发代码签名证书的CA必须遵循本文件。

    但在文件中,唯一允许核实的是组织申请者的身份,或个人申请者的身份。(请参阅最低要求文档的第11节。)也就是说,这些规则草案不允许代码签名的任何等价域验证。他们确实允许的验证方法需要人力,因此免费发放这些证书是不现实的。所以我的印象是,微软的根程序(可能还有其他供应商的根程序)目前不允许向域名颁发代码签名证书。

    上一页:您没有“sslinstall”功能 下一页:您建议使用哪种SSL终端工具来处理Varish(HAProxy、Nginx或其他工具)?
    全部评论(0)