关于数字证书理解的简单整理以及12306站点证书简单分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sundacheng1989/article/details/25540601

首先简单理解一下什么是数字证书。这里是一篇英文文档,描写叙述的非常形象。形象的描写叙述了什么是公钥。什么是私钥。假设确保数字证书的可靠性等。

以下。我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。


一般我们电脑的浏览器中都有一些受信任的证书颁发机构列表, 里边存储的都是一些机构的信息。这些机构都是权威的。当然能够通过安装软件的方式。来添加证书颁发机构,比方中国银行的根证书软件,阿里巴巴的根证书软件。

默认我们觉得这些软件都是从官网下载的,是绝对的没被篡改的,可靠的。简单来讲,根证书存在的意义,就是验证偶尔从网络上传到浏览器的数字证书的真假。


当我们向一个站点发起加密訪问协议后,站点会返回一个数字证书M给你。那么我们怎么确定这个证书M没有在途中被人篡改过呢?这里就用到了根证书。

站点返回来的数字证书都是一定格式的,记录了站点的名称,公钥,以及证书颁发机构A。并且有的地方,是用这个机构A的私钥加密过的。我们的浏览器会依据这个证书写着的颁发机构A,去“受信任的证书颁发机构”列表中,找到这个机构A。然后通过本机中存储的关于机构A的信息,去检查这个证书有没有被篡改过。


有人说,怎么依据根证书去验证数字证书M有没有被篡改过呢?事实上这里也用到了对称加密。假设根证书对某个站点颁布了数字证书。就是用自己的私钥加密根证书的部分内容。这个根证书颁发机构把自己的公钥放入到软件中。安装到客户计算机中。用户收到安全证书M后。会用根证书机构的公钥去解密这个证书。假设能解开,说明没有被改动过。假设不能解开,说明别改动了,不安全了。



比方说,证书传送途中。被某个组织截获。他们想篡改。并且他们也篡改了。可是注意如今有一点,他们篡改之后是须要加密的。因为终于的浏览器是会用公钥解密的。他们此时仅仅能用根证书机构的私钥加密,终于的浏览器才会打开,才不会察觉。用不论什么其它的私钥加密,浏览器都是打不开的。

而此时他们又没有根证书机构的私钥,所以就无法篡改了。一旦篡改就会被发现。

继续回到样例中。此时,浏览器收到站点的安全证书。通过根证书列表查看验证。证明了这个证书是安全的。可靠的。

client就能够使用证书中的server公钥,对信息进行加密。然后与server交换加密信息。步骤例如以下图

首先。client向server发出加密请求。

server用自己的私钥加密网页以后。连同本身的数字证书,一起发送给client。

client(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。client会依据这张列表。查看解开数字证书的公钥是否在列表之内。

假设数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用。浏览器会发出警告。

假设这张数字证书不是由受信任的机构颁发的,浏览器会发出还有一种警告。

假设数字证书是可靠的,client就能够使用证书中的server公钥。对信息进行加密。然后与server交换加密信息。



下边是关于12306站点证书的一些看法,部分转载。

12306站点买票。会出现证书过期或者是不可靠等提示,这里原因是什么?


大家都知道https的网页是加密的,是须要证书的,网购火车票的网址是http://www.12306.cn/mormhweb/kyfw/。这个是http的普通网页,没有加密,是明文传输的。不须要证书。可是他里面有个iframe,也就是嵌套了还有一个网页,地址是https://dynamic.12306.cn/otsweb/。这里就是https的了。

可是假设使用Chrome、Firefox或者IE8、9等浏览器都会显示这个站点的证书有安全问题。

因为dynamic.12306.cn使用的是SRCA颁发的证书。这个证书在我们的计算机中是默认不被信任的,也就是不安全的。

Chrome:

 

IE9:

什么是SRCA?SRCA就是Sinorail Certification Authority,中文名叫中铁数字证书认证中心,简称中铁CA。

这是个铁道部自己搞的机构,相当于是自己给自己颁发证书,当然不会被信任。

很多其它信息请见这个机构的站点。

于是,12306就在首页显著位置标明:为保障您顺畅购票,请下载安装根证书。

一般人假设看到这个肯定会依照要求下载安装的。下载后解压里面有个“SRCA根证书安装说明手冊.doc”,这个doc格式我就先不吐槽了,还是先说说内容吧。

这个文档一开头就有这么一段话:

尊敬的用户:

您如今安装的是中铁数字证书认证中心(中铁CA。SRCA)的根证书,完毕这个操作能够使您的购票体验更为顺畅,同一时候获得一个更安全的网络购票环境。

中铁CA是由工业和信息化部审批通过的合法电子认证服务机构。该产品及相关操作不会对您的计算机构成危害,请您放心使用。

安装了你的证书会使我的网络购票更顺畅更安全?我怎么不知道证书还有这种奇妙的能力?是不是Windows优化大师、360之类的软件都应该集成一个安装SRCA的证书的功能啊?

再看后面,“该产品及相关操作不会对您的计算机构成危害,请您放心使用。

”怎么感觉好像是此地无银三百两呢?

玩笑话就讲到这里吧。以下来说说安装了这个证书究竟会有什么危害。

以下因为涉及到一些password学的知识,限于篇幅和本人的表达能力。可能解释得不是非常清晰,假设有什么不明确的地方建议学习一下这篇文章,图文并茂,解释得比較清晰。

假设你依照这个文档的步骤安装了SRCA的根证书的话。那么以后全部SRCA颁发的证书在你的电脑上都会被觉得是安全的。这有什么危害呢?首先SRCA是一个体制内的部门。所以他全然有可能会被有关部门控制。

假设有关部门利用SRCA的私钥伪造了一个Gmail的证书,然后有关部门再通过电信运营商或者某墙拦截下来你和Gmailserver之间的全部通信,然后把自己伪造的证书发给你,因为你安装了SRCA的根证书。你就会觉得这个证书是安全的。也就是说你就会以为你收到的内容是Gmailserver发送的。这样有关部门就在你和Gmailserver之间充当了一个中间人的角色。这样你和Gmailserver之间的全部加密通信就都神不知鬼不觉得被有关部门监听了。他们就能够得到你的邮件的内容甚至还有可能得到Gmail的password。这就是著名的中间人攻击(MITM)。

这里仅仅是以Gmail为例,因为有关部门多次试图获得一些异见人士的Gmail邮件内容,就不具体说了。

说完了安装证书的危害,那么为什么不使用VeriSign这个受信任的机构颁发的证书呢?

有些人就開始出来为铁道部辩护了。说铁道部不愿意花钱买证书,或者技术人员提出了要购买证书的要求可是领导不懂这些所以不允许等等。

我最開始也觉得这个是有可能的。毕竟这是在天朝。可是后来我发现https://epay.12306.cn/这个完毕订票后用来支付的二级域名就是用的VeriSign颁发的证书。那为什么登陆账号以及订票不使用这个VeriSign的证书呢?

因为我实在无法找出合理的解释,所以我仅仅好觉得是这种:铁道部因为某个特殊的原因,希望大家在自己的电脑上面安装SRCA的根证书,可是他自己也知道使用自签名的证书是有危急的,只是登陆和订票部分仅仅是涉及到用户的隐私问题而已,即使有安全问题也无所谓的。天朝的p民本来就没有什么隐私的。可是支付部分涉及到钱,假设出了事儿就比較麻烦。所以支付部分还是使用了VeriSign的证书。


转载于:https://www.cnblogs.com/xfgnongmin/p/10739855.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Luogu3350 ZJOI2016 旅行者 最短路、分治

传送门 题意:给出一个$N \times M$的网格图,边有边权,$Q$组询问,每组询问$(x_1,y_1)$到$(x_2,y_2)$的最短路。$N \times M \leq 2 \times 10^4 , Q \leq 10^5$ BZOJ原题竟然没有数据范围 矩形的多组询问问题考虑分治。考虑计算矩形…

Mac中安装Node和版本控制工具nvm遇到的坑

首先说说常规的安装 1. 下载nvm,使用nvm来管理Node版本 官方文档 windows 版本  https://github.com/coreybutler/nvm-windows mac 版本    https://github.com/creationix/nvm#install-script 命令行 尽量不要用brew,免得掉坑 curl -o- https://raw.githubu…

几道比较有意思的js面试题

1、[] ? !![] : ![];输出结果是什么? 12345let val [] ? !![] : ![];console.log(val); //true://之前的错误解释:[] 是一个null,做判断则为false,false执行![]语句,结果为非空,即true//更正…

wepy - 与原生有什么不同(x.wpy)使用实例

源码 1 <template>2 <view classmark wx:if"{{showMark}}">3 <view animation"{{animationData}}" class"animCat">4 <image src"http://osk1hpe2y.bkt.clouddn.com/18-5-30/34559443.jpg"></…

vue从入门到精通之高级篇(一)vue-router的高级用法

今天要介绍的是路由元信息&#xff0c;滚动行为以及路由懒加载这几个的使用方法。 1.路由元信息 什么是路由元信息&#xff0c;看看官网的解释&#xff0c;定义路由的时候可以配置 meta 字段可以匹配meta字段&#xff0c;那么我们该如何使用它&#xff0c;一个简单的例子&…

Java 数组实现堆栈操作

class Stack {private int stck[] ; private int tos ; Stack(int size) { // 一个参数的构造参数stck new int[size] ; // 创建数组&#xff08;创建堆栈&#xff09;tos -1 ; // 空堆栈标识 -1}// 堆栈操作的特性&#xff1a;先进后出、后进先出void push(int…

re模块

什么是正则表达式 一组特殊符号组成的表达式&#xff0c;用于描述某种规则。该应用场景生活中随处可见。 例如&#xff1a;让有志青年过上体面的生活&#xff0c;这里面就由规则&#xff0c;即有志青年。 正则表达式的作用&#xff0c;以及使用场景 用于从字符串中匹配满足某种…

CSS实现div梯形分割

原理 使用的border边框属性结合svg 转换 详见代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css实现div边框斜角</title><style type"text/css"> .labels {display: i…

算法学习——决策单调性优化DP

update in 2019.1.21 优化了一下文中年代久远的代码 的格式…… 什么是决策单调性&#xff1f; 在满足决策单调性的情况下&#xff0c;通常决策点会形如1111112222224444445555588888..... 即不可能会出现后面点的决策点小于前面点的决策点这种情况。 那么这个性质应该如何使用…

SVG画一个箭头

参考菜鸟手册&#xff1a; https://www.runoob.com/svg/svg-tutorial.html 打开菜鸟中的在线工具 在可视化截图拖拉元素绘制箭头 点击command U 查看源码 将源码拷入html代码中&#xff0c;查看效果 最后&#xff0c;贴出源码供大家参考 <!DOCTYPE html> <…

HP Instant Information

HP Instant Information before HP-UX 11i v3 《管理系统和工作组&#xff1a;HP-UX系统管理员指南》 After HP-UX 11i v3 《HP-UX系统管理指南》(由多个文档组成的文档集) 《HP-UX系统管理员指南&#xff1a;概述》 《HP-UX系统管理员指南&#xff1a;配置管理》 《HP-UX系统管…

CodeForces 258D Little Elephant and Broken Sorting(期望)

CF258D Little Elephant and Broken Sorting 题意 题意翻译 有一个\(1\sim n\)的排列&#xff0c;会进行\(m\)次操作&#xff0c;操作为交换\(a,b\)。每次操作都有\(50\%\)的概率进行。 求进行\(m\)次操作以后的期望逆序对个数。 \(n,m\le 1000\) 输入输出格式 输入格式&#x…

记一次vue项目yarn打包环境配置失效的解决方案

项目中使用到了yarn打包工程&#xff0c;主要有以下几个命名。 # build for production with minification yarn run build# build for production and view the bundle analyzer report yarn run build --report# 自定义API地址 baseurl"http://127.0.0.1:8080/api/&quo…

数字签名与HTTPS详解

因为HTTP协议本身存在着明文传输、不能很好的验证通信方的身份和无法验证报文的完整性等一些安全方面的确点&#xff0c;所以才有了HTTPS的缺陷。HTTPS确切的的说不是一种协议&#xff0c;而是HTTP SSL (TSL)的结合体。HTTP报文经过SSL层加密后交付给TCP层进行传输。SSL(安全套…

[BZOJ4320][ShangHai2006]Homework(根号分治+并查集)

对于<sqrt(300000)的询问&#xff0c;对每个模数直接记录结果&#xff0c;每次加入新数时暴力更新每个模数的结果。 对于>sqrt(300000)的询问&#xff0c;枚举倍数&#xff0c;每次查询大于等于这个倍数的最小数是多少&#xff0c;这个操作通过将询问逆序使用并查集支持。…

VScode 结局插件prettier和vetur格式化冲突

先上配置代码 {"workbench.iconTheme": "vscode-icons","workbench.startupEditor": "newUntitledFile","workbench.colorTheme": "One Dark Pro","editor.fontSize": 14,"editor.tabSize":…

WPF效果(GIS三维续篇)

去年这个时候简单的摸索了一下三维的GIS相关的东西,也就是仅仅玩耍了一把,这次来点真正用的上的干货效果效果&#xff1a; 1、加载自定义百度样式的瓦片效果 2、加载自定义百度样式的缩放效果 3、快速手动进去咱的大帝都 4、加载海量Mark效果 5、加载海量Mark和简单模型效果 6、…

vue 表单 验证 async-validator

1、使用插件async-validator async-validator 地址&#xff1a;https://github.com/yiminghe/async-validator 2、示例&#xff08;vueelement-ui&#xff09; <el-form :model"numberValidateForm" ref"numberValidateForm" label-width"100px&qu…

[19/04/23-星期二] GOF23_创建型模式(工厂模式、抽象工厂模式)

一、工厂模式(分为&#xff1a;简单工厂模式、工厂方法模式、抽象工厂模式) 实现了创建者和调用者的分离 核心本质&#xff1a;1、实例化对象&#xff0c;用工厂方法代替new操作&#xff1b;2、将选择实现类、创建对象统一管理和控制&#xff0c;从而将调用者跟实现类解耦。 简…

Chrome浏览器12px问题-webkit-text-size-adjust: none 已失效的解决方案

对于早期的chrome, 如果要想显示12px以下的字体&#xff0c;一般通用的方案都是在对应的元素中添加 div {-webkit-text-size-adjust: none; }但是我今天遇到的需求&#xff0c;添加了之后没有反应&#xff0c;而且浏览就根本不支持这种写法。 在网上看到了博客《Chrome浏览器…