网络安全协议与PKI应用

1. SSL/TLS 协议

Secure Socket Layer安全套接层(SSL v2/v3)和Transport Layer Security 传输层安全协议(TLS v1)协议是目前Internet上使用最广泛的安全协议。SSL/TLS在源和目的实体间建立了一条安全通道(在传输层之上),提供基于证书的认证、信息完整性和数据保密性服务,用来传送信息、实现Server/Client双向身份验证、防篡改(完整性检测)等。

SSL 记录协议为 SSL 连接提供两种服务:

  • 机密性:握手协议定义了共享的、可以用于对SSL有效载荷进行常规加密的密钥。

  • 报文完整性:握手协议还定义了共享的、可以用来形成报文的鉴别码(MAC)的密钥。

客户与服务器之间建立逻辑连接的 4 个阶段:

  • 建立安全能力:包括协议版本、会话ID、密文组、压缩方法和初始随机数;

  • 服务器鉴别和密钥交换:,服务器可以发送证书、密钥交换和证书请求。服务器发出结束Hello报文阶段的信号;

  • 客户鉴别和密钥交换,如果请求的话,客户发送证书,客户发送密钥交换,客户可以发送证书验证报文;

  • 结束,修改密文族并结束握手协议。

11997621-ea8454f0157e9ffe.png

SSL被设计成使用TCP来提供一种端到端的安全服务。浏览器与Web服务器之间经过一个握手的过程来完成身份鉴定与密钥交换,从而建立安全连接,握手过程流程如下:

  • ① 客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。

  • ② 服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。

  • ③ 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。

  • ④ 用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。

  • ⑤ 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。

  • ⑥ 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码 ”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。

  • ⑦ 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。

  • ⑧ 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。

  • ⑨ 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。

  • ⑩ SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。

2. S/MIME & PGP 协议

PGP(Pretty Good Privacy)和S/MIME(Secure Multi-Part Intermail Mail Extension),邮件加密专用协议,它们的主要功能就是身份的认证和传输数据的加密。

PGP 协议:

  1. PGP的成功,主要由于Phil Zimmerman的贡献。PGP提供了一种机密性和鉴别的服务,可以用于电子邮件和文件存储的应用。

  2. PGP的实际操作由5种服务组成:鉴别、机密性、压缩、电子邮件的兼容性和分段/重组。

  3. 加密密钥和密钥环

PGP使用了4种类型的密钥:一次性会话的常规密钥、公开密钥、私有密钥和基于口令短语(Passphrase)的常规密钥。

  1. 公开密钥管理

S/MIME 协议:

该标准包括密码报文语法、报文规范、证书处理以及证书申请语法等方面的内容。

  1. RFC822 – MIME – S/MIME

  2. S/MIME的功能:加密的数据、签名的数据、Clear-signed Data和签名并且加密的数据。

  3. S/MIME证书的处理(RFC2632):

  4. S/MIME增强的安全服务(RFC2634):Signed Receipt、Security Label和Security mailing list。

3. 安全电子交易 SET 协议

在金融业逐步走向电子化的今天,支付工具己逐渐从传统的物理形式的现金转换成信用卡,但支付形式却仍是消费者与商家面对面地使用支付工具,当面即时地查验支付工具的真伪。对于网上交易而言,商家、消费者和银行等中间机构是通过Internet互连在一起的,他们无法用传统的方法完成支付的查验过程。为解决这一问题,VISA和Master两大信用卡组织提出了以信用卡为基础的电子系统支付系统规范,即SET(Secure ElectronicTransaction)标准。

SET 标准中,定义了五种实体:

  • 1)持卡人:拥有信用卡的消费者;

  • 2)商家:在Inter 3)支付网关:由金融机构或第三方控制,它处理持卡人购买和商家支付的请求;

  • 4)收单者(Acquirer):负责将持卡人的帐户中资金转入商家帐户的金融机构;ne上提供商品或服务的商店;

  • 5)发卡者:负责向持卡人发放信用卡的金融机构。

涉及SET交易的所有持卡人、商家和支付网关三个实体。认证机构需分别向持卡人,商家和支付网关发出持卡人证书、商家证书和支付网关证书。三者在传输信息时,要加上发方的数字签字,并用接收方的公开密钥对信息解密。实现商家无法获得持卡人的信用卡信息,银行无法获得持卡人的购物信息,同时保证商家能收到货款的SET支付的目标。

应用示例:

11997621-98c7ee7cb941887e.png
  1. 买主通过https连到电子商务站点,站点服务器验证客户证书

  2. 站点服务器去LDAP库查用户权限

  3. 购买、下定单,弹出ActiveX签名控件

  4. 用户验证控件有效性、受性任

  5. 控件通过微软CryptoAPI访问用户私钥,并提示签名,同时生订定单数据摘要

  6. 用户对摘要签名点击提交,签名和订单发到web站点

  7. 供货商收到订单时先申请时间戳存入日志,再验证签名,验证后指定完成订单者,并生成通告用安全邮件发给完成订单及买主

     
    11997621-3158de0543030ed6.png
    微信公众号:海若Hero
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值