6-8 应用层安全协议
SSL/TLS
SSL是传输层安全协议,主要用于实现Web安全通信。HTTPS协议就是在传输层和应用层之间加了一层SSL
SSL最初由NetScape网景公司开发,由于使用广泛,IETF基于SSL 3.0版本,制定了传输层安全标准TLS。
SSL包含记录协议、警告协议和握手协议
- 记录协议:运行在传输层协议TCP之上,用于封装各种上层协议
- 握手协议:用于协商参数
- 警告协议:出现问题发出警告
- 改变密码协议:用来改变密码
SSL和IPSec都支持:数据保密、身份认证和完整性校验。
(记忆下图,可能挖空填写)

SSL/TLS算法总结

HTTPS和S-HTTP
基于SSL的超文本传输协议 (Hypertext Transfer Protocol over Secure Socket Layer, HTTPS) 不是一个单独的协议,而是两个协议的结合,即在加密的安全套接层或传输层安全(SSL/TLS)上进行普通的HTTP交互传输。这种方式提供了一种免于窃听者或中间人攻击的合理保护。即HTTPS = HTTP + SSL/TLS
HTTPS默认端口是443,HTTP默认端口80【缝缝补补】
S-HTTP是安全的超文本传输协议(SecurityHTTP),本质还是HTTP,基本语法与HTTP一样,只是报文头有所区别,进行了数据加密。【另起炉灶】
HTTPS协议栈与工作过程
HTTPS的基本工作原理如图4-2所示,根据题目说明,写出①-③处的密钥名称

【参考答案】
- ①公钥:此处服务器返回的证书为公钥证书,该证书是CA用自己私钥对服务端公钥进行签名。客户端收到证书后,使用CA私钥进行验签
- ②服务器的公钥:客户端用证书中的服务器公钥加密随机数
- ③服务器的私钥:服务端用自己私钥解密,得到该随机数
- ④会话(对称/共享):服务端利用该随机数,用协商好的算法(一般是非对称如DH算法,非对称密码算法用来生成、交换秘钥)生成会话秘钥,生成的秘钥一般都是对称密码算法的秘钥
- ⑤会话(对称/共享):后续使用协商好的会话秘钥加密数据并传输
例题
例题1

解析:加密http消息肯定是对称加密,这个对称密钥(即会话密钥)是通过公钥算法完成交换的。证书被撤销,客户端无法信任服务器,会弹出不安全的提示,加密消息可能被第三方解密
例题2


解析:
SSL协议安全机制包含:身份认证、数据加密、消息完整性验证
非对称密钥算法用于密钥交换:在握手阶段,客户端和服务器通过公钥加密方式安全地交换会话密钥。对称密钥算法用于数据加密:握手完成后,客户端和服务器使用协商好的对称密钥对传输的数据进行加密,确保数据的机密性和高效性。【简答来说:非对称用来交换会话密钥,对称用来加密数据】
SET和PGP
SET
安全电子交易(Secure Electronic Transaction,SET)主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份以及可操作性。
SET协议使用密码学技术来保障交易安全,默认使用的对称加密算法是DES,公钥密码算法是RSA,散列函数是SHA。
PGP
PGP(Pretty Good Privacy)是一个完整的电子邮件安全软件包(应用层),PGP提供数据加密和数字签名两种服务。采用RSA公钥证书进行身份验证,使用IDEA进行数据加密,使用MD5进行数据完整性验证。
S/MIME
传统的SMTP采用ASCII编码,属于纯文本,不支持语音、视频数据,后来引入了MIME,引入后支持语音、视频数据
安全多用途互联网邮件扩展协议(Security/Multipurpose Internet Mail Extensions,S/MIME)提供电子邮件安全服务。
S/MIME采用MD5生成数字指纹,利用RSA进行数字签名,并采用3DES加密数字签名。
不要混淆MIME和S/MIME,MIME不具备安全功能。
SET、PGP、S/MIME对比
| 功能/协议 | SET协议 | PGP(Pretty Good Privacy) | S/MIME(Security/Multipurpose Internet Mail Extensions) |
|---|---|---|---|
| 应用目的 | 主要用于保障电子商务交易的安全性,确保支付信息的保密性和完整性。 | 一个完整的电子邮件安全软件包,提供数据加密和数字签名服务,确保邮件内容的隐私和真实性。 | 安全多用途互联网邮件扩展协议(Security/Multipurpose Internet Mail Extensions,S/MIME)提供电子邮件安全服务。 |
| 对称加密算法 | DES(Data Encryption Standard),一种对称密钥算法,默认情况下使用。 | IDEA(International Data Encryption Algorithm),用于加密消息体,提供比传统DES更高的安全性。 | 3DES |
| 公钥密码算法 | RSA(Rivest-Shamir-Adleman),用于实现数字签名和密钥交换过程中的身份验证。 | RSA,主要用于公钥证书的身份验证;在一些更新版本中也可能支持其他算法如DSA。 | RSA(Rivest-Shamir-Adleman) |
| 散列函数 | SHA(Secure Hash Algorithm) | MD5(Message-Digest Algorithm 5) | MD5(Message-Digest Algorithm 5) |
Kerberos
Kerberos是用于进行身份认证的安全协议,Kerberos包含密钥分发中心(KDC)、认证服务器(AS)、票据分发服务器(TGS)和应用服务器等几大组件,其中密钥分发中心KDC包含认证服务器AS和票据分发服务器TGS,具有分发票据/凭证(Ticket)的功能。
- 获取初始许可凭证:用户先到KDC中的认证服务器(AS)进行身份认证,如果通过则获得初始许可凭证。
- 获取访问权限凭证:接着向授权服务器(TGS)请求访问凭据,获取相应的访问权限凭证。
- 向应用服务器递交访问权限凭据,获取资源访问。

PKI与kerberos体系对比
注意不要混淆,错误选项经常张冠李戴

例题
例题1

例题2

解析:
- A:KDC只包含AS(认证服务器)和TGS(授权服务器)
- B:加密消息肯定使用的是对称加密算法
- C:在KDC中,用户和认证服务器是有长期共享密钥的。
例题3

解析:在Kerberos系统中,用户首先向认证服务器(AS)申请初始票据,然后再向票据授权服务器(TGS)请求服务器凭证
例题4

解析:
- Kerberos和PKI体系不要混淆,公钥基础设施和CA属于PKI体系,故B、C和D选项错误。
- Kerberos那叫AS不叫CA
例题5

解析:SSL包含:握手协议(Handshake protocol)、记录协议(Record protocol)、告警协议(Alert protocol)。其中握手协议用于产生会话状态的密码参数,协商加密算法即秘钥等
例题6

解析:
目前常用的密钥分配方式是设立密钥分配中心KDC,KDC是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥。目前用得最多的密钥分配协议是Kerberos
Kerberos使用两个服务器:鉴别服务器AS和票据授权服务器TGS。在Kerberos认证系统中,用户首先向认证服务器申请初始票据,然后票据授权服务器(TGS)获得会话票据。
CA不属于Kerberos体系,属于PKI公钥基础设施,故B选项错误。
KDC包括认证服务器AS和授权服务器TGS,其中AS用来做用户身份认证,保存着所有用户的账号和密码