4月阅读周·HTTP权威指南:安全HTTP之数字证书篇
引言
HTTP(Hypertext Transfer Protocol,超文本传输协议)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于Web浏览器和Web服务器之间的双工通信。
《HTTP权威指南》一书将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节介绍HTTP各方面的特性。纵观全书,对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。此外,这本书还介绍了很多HTTP应用程序正常工作所必需且重要的非HTTP技术。
这本书主要包括以下内容:
- 第一部分描述了Web的基础构件与HTTP的核心技术
- 第二部分重点介绍了Web系统的结构构造块:HTTP服务器、代理、缓存、网关以及机器人应用程序。
- 第三部分提供了一套用于追踪身份、增强安全性以及控制内容访问的技术和技巧。
- 第四部分涵盖HTTP报文主体和Web标准,前者包含实际内容,后者描述并处理主体内容。
- 第五部分介绍了发布和传播Web内容的技巧。
- 第六部分是一些很有用的参考附录,以及相关技术的教程。
安全HTTP
在友好环境中,这些技术都能够很好地工作,但在充满各种利益驱动和恶意对手的环境中,它们并不足以保护那些重要的事务处理。
接下来讨论一种更复杂,更安全的技术,通过数字密码来保护HTTP事务免受窃听和篡改的侵害。
数字证书
我们每个人都有很多形式的身份证明。有些ID,比如护照和驾照,都足以在很多场合证明某人的身份。例如,你可以用美国的驾照在新年前夜搭乘前往纽约的航班,在你到那儿之后,接着用它来证明你的年龄,这样你就能和朋友们一起喝酒了。
受信程度更高的身份证明,比如护照,是由政府在特殊的纸上签发并盖章的。很难伪造,因此可以承载较高的信任度。有些公司的徽章和智能卡中包含有电子信息,以强化使用者的身份证明。有些绝密的政府组织甚至会对你的指纹或视网膜毛细血管模式进行匹配以便确认你的ID!
有些形式的ID,比如名片,相对来说更容易伪造,因此人们不太信任这些信息。虽然足以应付职场交流,但申请住房贷款时,可能就不足以证明你的就业情况了。
证书的主要内容
数字证书中还包含一组信息,所有这些信息都是由一个官方的“证书颁发机构”以数字方式签发的。基本的数字证书中通常包含一些纸质ID中常见的内容,比如:
- 对象的名称(人、服务器、组织等);
- 过期时间;· 证书发布者(由谁为证书担保);
- 来自证书发布者的数字签名。
而且,数字证书通常还包括对象的公开密钥,以及对象和所用签名算法的描述性信息。任何人都可以创建一个数字证书,但并不是所有人都能够获得受人尊敬的签发权,从而为证书信息担保,并用其私有密钥签发证书。
X.509 v3证书
不幸的是,数字证书没有单一的全球标准。就像不是所有印刷版ID卡都在同样的位置包含了同样的信息一样,数字证书也有很多略有不同的形式。不过好消息就是现在使用的大多数证书都以一种标准格式——X.509 v3,来存储它们的信息。X.509 v3证书提供了一种标准的方式,将证书信息规范至一些可解析字段中。不同类型的证书有不同的字段值,但大部分都遵循X.509 v3结构。
用证书对服务器进行认证
通过HTTPS建立了一个安全Web事务之后,现代的浏览器都会自动获取所连接服务器的数字证书。如果服务器没有证书,安全连接就会失败。服务器证书中包含很多字段,其中包括:
- Web站点的名称和主机名;
- Web站点的公开密钥;
- 签名颁发机构的名称;
- 来自签名颁发机构的签名。
浏览器收到证书时会对签名颁发机构进行检查。如果这个机构是个很有权威的公共签名机构,浏览器可能已经知道其公开密钥了(浏览器会预先安装很多签名颁发机构的证书)。
总结
如果对签名颁发机构一无所知,浏览器就无法确定是否应该信任这个签名颁发机构,它通常会向用户显示一个对话框,看看他是否相信这个签名发布者。签名发布者可能是本地的IT部门或软件厂商。
作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞 | 收藏⭐️ | 留言。
- 随机文章
- 热门文章
- 热评文章
- 探索自我:心理测试量表在个人成长和心理健康中的应用心理测试量表scl90
- 探索自我:通过心理测试了解你的内心世界心理测试小问题怎么解决
- 门萨智商测试题答案解析及深入探讨(精选10篇)
- 六年级数学练习与测试:提升解题技巧与数学思维六年级数练答案零五网
- 测你是个遇强则强遇弱则弱的人吗
- Java 定时任务系统
- Struts2框架小知识
- 鸿蒙系统升级了,开发者该如何“见招拆招”?——适配挑战与应对策略【华为根技术】
- 心理小测试 测试你内心真正的性格