能不能根据软件名称和发行者来确保软件的安全
可以;而且在这个提示框出来之前,微软已经完成过验证了——如果验证未通过,它会通知你的。但,首先你需要知道里面潜藏的某些猫腻……这个验证机制,归根结底是基于RSA这样的非对称加密体系的。简单说,这个体系是这样的:1、某个机构A公布自己的公开密钥(简称公钥),但保留自己的私有密钥(简称私钥)2、如果你打算信任机构A,就接受它的公钥(即安装为根证书)3、某个软件厂商B打算发行自己的软件,它就可以去找机构A,让机构A用自己的私钥把“该软件的数字摘要码为xxx,的确是厂商B发行的”这句话加密。由于非对称加密体系的特点,加密后的信息只有用公钥才能解开;也只有知道私钥的才能生成这种可以用公钥解开的密文。这就保证了,这个保证只有A能做。所以,只要你能用A公布的公钥解开这句话、而且这句话提到的数字摘要和你拿到的软件的数字摘要相同,就说明这个软件就是A担保的那个,后面没有被人修改过。那么,只要A是可靠的,那么这个软件就一定是B编写的;而如果你觉得B可以信任,那么它的软件就可以信任。这就叫“信任链”。当然,实践中用到是更复杂的方案,比如由A颁发给B另一个证书、并用上面的手段保证该证书是可信的;然后B再用自己的证书(而不是找到A、用A的证书)签名。但原理是一样的。不仅是应用程序,实际上,https浏览等很多东西,都是基于这套机制来保证安全的。了解这个之后,你就知道可能会出现什么问题了:1、正常情况下,可信的证书颁发机构已经内置在操作系统/浏览器里面了。但,如果某个公司/个人通过某种手段给你安装了根证书,那么它就可以出面担任可信机构了。比如说,如果我搞个软件,然后自己签名,自己弄证书;安装前要求你把我的证书安装成根证书;那么以后我的所有软件就会被windows/android/ios等等默认信任了。如果我是搞3721的,你觉得这样危险不危险?不要觉得这不可能。比如,12360就是这么干的——如果有人通过DNS劫持之类把你骗到了李鬼网站,然后你安装了人家的证书……此外,你从网上下的、非可靠来源的系统盘、刷机包、浏览器,都可能已经默认安装了假证书。2、可信机构本身出了问题,变得不可信了比如,最近就频频爆出某些CA机构向不可信的公司颁发过高权限的证书之类丑闻:Solidot | 赛门铁克签发给 Blue Coat的中级证书已经停止使用借助这些证书,很容易就能在https之类传输协议上实现中间人攻击。不过,这种情况极为少见,一般也影响不到我们普通人头上……3、企业自身管理不善,导致证书泄露这种情况虽然少见,但也时有发生。不过,一旦发现,证书颁发机构可以吊销泄露的证书,迅速堵住漏洞。总之,一般来说,证书验证是可靠的;即便出了问题,也不是普通用户能解决的。作为普通用户,切记不要接受、安装不明来历的根证书,就可以了。其它的,交给专家来头痛吧。
推荐阅读
- 江苏高考■江苏省发布《2021年普通高校招生考试安排和录取工作实施方案》
- 创新经营|
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 王者荣耀李白能不能出肉
- 疾控|南通市疾控中心召开干部大会
- 大部分黑客或安全研究员读的是啥「大学专业 」
- 软件公司为啥频繁地在培训机构批量招人
- 最近有啥样的交友软件比较好玩呢
- 能和 Google Calender 方便双向同步的 iOS 日程管理软件有哪些最好也支持iPad
- 为啥和自己接触过的女孩子都很快就有男朋友了啊
