从支付宝插件无提示导入根证书带来的安全隐患说开去:谈谈HTTPS的加密方式
众所周知在12306购票,官方说明需要导入根证书,这算是良心的了。其实你安装了支付宝插件,就会被不知情的导入了某些[哔]的根证书,而这会带来一些安全隐患:提升遭遇中间人攻击的可能性:在你完全不知情,以为自己还在享受这HTTPS带来的安全保护的情况下,将未加密的信息完全暴露给第三方(比如GFW)。而根证书是什么?为什么可能导入一个证书就可能会遭到中间人攻击的?我们从头说开去~ 一、基本概念 加密: 未加密信息:明文x 加密后信息:密文y 明文到密文之间的转换关系:y=f(x),而解密则是x=f -1 (y) 例子:f:密文=明文+1,那么123→234;bag→cbh 实际起到加密作用的是f,故f是不能被公开的。 缺点:f是作为加密的关键不能被公开,假如有N对人进行加密通讯,每个人都不想让其他人解密自己的通讯那么必须构造N种f,而构造一个好的f很不容易的。对“天王盖地虎,宝塔镇河妖”这种情况或许还好用,可是对于互联网通讯加密来说就非常不合适了 密钥: 为映射f引入第二个参数key,关系变为y=f(x,key) f是可以公开的,而key密钥是私有的。只要key没有泄露出去,而且f合理,由y导出x就不是件容易的事。 破解: 指在不知道key的情况下,利用各种方法,获取到key;或者绕开key,通过y直接求解x。 合理的F: 在不知道key的情况下,由y计算出x在时间上不可行