草 稿

如何吊销 CNNIC 根证书

  1. CNNIC 是什么?

    China Internet Network Information Center ——中国互联网络信息中心。

  2. CNNIC 做了什么?为什么要吊销其根证书?

  3. 发行了多个谷歌域名的假证书

    一个名为MCS集团的中级证书颁发机构发行了多个谷歌域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。

     

    该证书冒充成受信任的谷歌的域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,而绕过浏览器警告。

     

    简而言之,就是他们有了这个伪证书,你访问谷歌(当然是你科学上网)的内容会被窥探到。

     

    窥探的方法就是中间人攻击。

  4. 什么是“中间人攻击(MitM)”

    所谓“中间人”攻击,指攻击者与通讯的两端分别建立独立联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,而且,攻击者能够阅读通讯双方的所有会话内容。

  5. 谁遭受过“中间人攻击”

    2013 年 1 月 26 日晚 GitHub 遭到 SSL 中间人攻击。

     

    2014 年 10 月 2 日至 10 月 6 日,微软账号(login.live.com)在中国大陆地区遭受大面积SSL中间人攻击。

     

    2014 年 10 月 19 日,国内 iCloud 服务器遭遇中间人攻击。

     

    2014 年 10 月 20 日,雅虎在中国大陆地区再次受到 SSL 中间人攻击。

     

    2015 年 1 月 21 日,微软证实其 Outlook 电子邮件服务被中国黑客作为攻击目标,遭到中间人攻击,微软用户仅在中国受到影响。

     

    必须要说的是:上面这些中间人攻击只是对CNNIC的怀疑。前几天发生的这件事则是证据确凿的——

     

    2015 年 3 月 23 日,谷歌发现 CNNIC 颁发了多个针对谷歌域名的用于中间人攻击的证书。

  6. 如何吊销 CNNIC 根证书

    我们要做的事,很简单,吊销 CNNIC 根证书。

  7. 全自动可疑证书吊销工具

    GitHub 上的 Revoke China Certificates 项目。这是最简单的方法。

     

    或者请按下面的步骤手动吊销。

  8. Windows(适用IE、Chrome、Safari)

    1. 运行Windows的证书管理器(到命令行执行certmgr.msc)。

     

    2. 选中“受信任的根证书颁发机构”=>“证书”。

     

    3. 查看右边的证书列表。如果里面已经有CNNIC的证书,直接跳到第7步。

     

    4. 先翻墙到下面的链接下载现成的CNNIC证书(要解压缩出来)。

     

    5. 鼠标在“受信任的根证书颁发机构”=>“证书”上点右键。在右键菜单中点“所有任务”=>“导入”。

     

    6. 出现一个导入向导,根据先导一步步的提示,把上述CNNIC证书导入到证书列表中。

     

    7. 选中CNNIC证书,点右键。在右键菜单中点“属性”。

     

    8. 在跳出的属性对话框中,选中“停用这个证书的所有目的”,然后确定。

     

    9. 最后,为了保险起见,再把这三个证书,导入到“不信任的证书”中(方法和上述类似)。

     

    注:上述操作仅对当前用户生效。如果你的Windows系统中有多个常用的用户帐号,要对每一个用户进行上述设置。

  9. OS X(适用Safari、Chrome)

    请到“实用工具”=>“钥匙串访问”=>“系统根证书”=>“证书”,找到CNNIC的证书并双击,改为“永不信任”。

  10. Linux(适用Chrome)

    对于Debian和Ubuntu系统,以管理员权限进行如下操作:

     

    方法1:运行命令:dpkg-reconfigure ca-certificates 会出现一个图形界面,把CNNIC证书不选,并确认。

     

    方法2:编辑 /etc/ca-certificates.conf 文件,把CNNIC证书对应的行删除或注释掉。然后用命令 update-ca-certificates 使之生效。

     

    注:对于其它Linux发行版本,也有类似操作。

  11. 清理 Firefox 的证书

    不论是在哪个操作系统下,只要你用的是Firefox浏览器(它的证书体系独立于操作系统的),则需要执行如下步骤:

     

    1. 从菜单“工具”=>“选项” ,打开选项对话框

     

    2. 切换到“高级”部分,选中“加密”标签页,点“查看证书”按钮。

     

    3. 在证书对话框中,切换到“证书机构”。

     

    4. 里面的证书列表是按字母排序的。把CNNIC打头的都删除。

     

    注:如果某个证书是Firefox自带的,则删除之后,下次再打开该对话框,此证书还在。不过不要紧,它的所有“信任设置”,都已经被清空了。

  12. Android

    设置 - 安全 - 受信任的凭据(显示受信任的CA证书)

    点击进入需要禁用的证书并下拉到最下面,点击 禁用 按钮即可。

    操作完毕建议清空所有浏览器数据和系统缓存,并重启网络连接。

  13. iOS

    iOS 没有任何官方提供的方法禁用自带的根证书,请放弃在 iOS 下禁用根证书的想法。

  14. 检验方法

    打开 https://www1.cnnic.cn/ (注意是 HTTPS 的)会报证书错误的就表明成功吊销了。

     

    P.S.

     

    可能的副作用:有些国内网站已经开始使用CNNIC的证书,目前已经知道的有163邮箱(真鄙视网易)。但是甭担心。去除证书后,浏览器在访问上述网站时,会给出一个证书的安全警告。你只需添加一个安全例外即可。

评论(20

学习了 , 证书在通讯过程中起啥作用?
一会我来一篇科普的。
证书其实就是一个非常非常非常长的密码……
都做完了还是可以访问啊。。。
我也遇到同样的情况,在chrome下面照样可以访问,后来发现是因为自己安装了https everywhere的拓展才会这样的。上面的操作是有效的!
取消
感觉禁用了CNNIC的证书,SS出去都快一些了,是错觉吗?
貌似不是错觉,我也发现明显变快,但不晓得为毛…
取消
火狐无法删除cnnic证书?点击删除没反应啊
点「编辑」,去掉三个勾。
这样操作之后照样可以登陆cnnic.cn
取消
记得 Twitter 上也有个 Anonymous ,也是 V 头像,简介好像一样(这个记不清了),莫非是中国人?
匿名者,太多了
取消
屏蔽了CNNIC证书,中国电信网上营业厅无法登陆
这个安全例外怎么添加来着?没找到,Windows系统。
试了一下163邮箱,登录页面显示“正使用SSL登录”,登录成功也未有任何提醒。
中国电信登录更新了,又可以愉快屏蔽CNNIC了
之前清理过cnnic的证书为禁用所有,今儿再看怎么又还原了?
有没有最新的下载地址。。