28 传输(上):传输安全的基础,摘要、加密与签名
你好,我是周志明。今天我们接着上节课的话题,一起来探讨下信息在传输时的保密问题。
其实在前面几讲中,我已经为传输安全层挖下了不少坑,比如说:
- 基于信道的认证是怎样实现的?
- 为什么说,HTTPS是绝大部分信息系统防御通讯被窃听和篡改的唯一可行手段?
- 传输安全层难道不也是一种自动化的加密吗?
- 为什么说客户端如何加密都不能代替HTTPS呢?
所以接下来,我会花两讲的时间,通过“假设链路上的安全得不到保障,攻击者要如何摧毁之前在认证、授权、凭证、保密中所提到的种种安全机制”这个场景,来给你讲解传输层安全所要解决的问题,同时这也能给你解答前面提到的这些问题。
另外,在上节课的开篇里我也提到过,安全架构中的传输环节是最复杂、最有效,但又是最早就有了标准解决方案的,它包含了许多今天在开发中经常听说,但却不为多数开发人员所知的细节,比如传输安全中的摘要、加密与签名,以及数字证书与传输安全层,等等。那么今天这一讲,我们就先来理清系统安全中,摘要、加密与签名这三种行为的异同之处。
哈希摘要的特点和作用
现在,让我们先从JWT令牌的一小段“题外话”,来引出这一讲要讨论的话题吧。
你应该已经知道,JWT令牌携带信息的可信度源于它是被签名过的信息,所以是不可篡改的,是令牌签发者真实意图的体现。然而,你是否了解过签名具体做了什么呢?为什么有签名就能够让负载中的信息变得不可篡改和不可抵赖呢?