web站点启用https (一)
HTTPS技术是现在主流网站都采用的安全加密传输数据的技术,本篇文档将分为2部分讲解PKI的基本原理及在web站点配置https访问。
一.理论知识
1.PKI(public key infrastructure,公钥基础设施):通过使用公钥技术和数字签名来确保信息安全,并负责验证数字证书持有者身份的一种技术。PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。由公钥加密技术.数字证书. CA . RA组成。
数字证书:用户的身份验证
CA(认证机构):负责管理PKI中所有用户(包括各种应用程序)的数字证书的生成、分发、验证和撤销。
RA(注册机构):接受用户的请求,负责将用户的有关申请信息存档备案,并存储在数据库中,等待审核,并将审核通过的证书请求发送给证书颁发机构
PKI体系依据公钥加密技术具有以下特点。
身份验证:确认用户的身份标识。
数据完整性:确保数据在传输过程中没有被修改
数据机密性:防止非授权用户获取数据。
操作的不可否认性:确保用户不能冒充其他用户的身份。
2.公钥加密技术
公钥加密是PKI的基础
公钥(public key)与私钥(private key)的关系:
公钥和私钥匙承兑生成的,互不相同,互相加密与解密。
不能根据一个密钥来推算出另一个密钥
公钥对外公开,私钥只有私钥持有人才知道
私钥应该由密钥的持有人妥善保管。
注意:因为公钥加密技术使用2个不同的密钥进行加密,解密,所以公钥加密技术也被称为非对称加密技术;对称加密:用相同的密钥加密和解密。缺点是不安全,密钥一旦泄露,加密的数据也变得不安全。优点是处理速度快。
3.数据加密:保证发送数据的机密性。
数字解密过程:发送方使用接收方的公钥加密数据;接收方使用自己的私钥解密数据。
4.数字签名:保证数据完整性. 身份验证和操作的不可否认性。
数字签名过程:对原始数据执行hash算法得到摘要值,发送方用自己的私钥加密摘要值,将加密的摘要值与原始数据发送给接收方;接收方使用发送方的公钥进行解密,自己使用hash算法得到摘要与接收的文件进行对比验证。
5. X.509:国际电信联盟(ITU-T)制定的数字证书标准。
X.509是基于公开密钥体质建立的,X.509数字证书不仅包含用户名和公钥,而且还包含与用户有关的其他信息。
X.509 证书和许多其他证书都有有效期限,证书在期满后就会失效。目前,X.509标准已在编排公共密钥格式方面被广泛接受,运用于许多网络安全应用程序。
6. PKI协议:提供了完整的加密/解密解决方案,许多用于安全通信的协议和服务器都是基于PKI来实现的。
SSL(Secure Socket Layer,安全套接字层)协议
SSL使用PKI和X.509数字证书技术保护信息的传输,可确保数据在网络传输过程中不会被截取及窃听并且保证数据的完整性。目前的浏览器都支持SSL。
HTTPS(hyper text transfer protocol secure,安全超文本传输协议)
使用SSL来实现安全的通信,广泛应用于Internet网安全敏感通信,如网上交易支付。
IPsec(IP security , IP安全)协议
目前最流行的VPN解决方案,包括AH和ESP。
AH(authentication header,验证头):提供数据源身份认证,数据完整性保护等。
ESP(encapsulating security payload ,安全负载封装):提供数据保密,数据源身份认证,数据完整性保护,重放攻击保护等功能。
7. CA(certificate authority,证书颁发机构):颁发和管理数字证书
作用:处理证书申请 发放证书 更新证书 接受用户数字证书查询。。。。
证书发放过程:
(1). 用户生成密钥对,根据个人信息填好申请证书的信息,并提交证书申请信息。
(2). 在企业内部网中,一般使用手工验证的方式,这样更能保证用户信息的安全性和真实性。
(3). 如果验证请求成功,那么,系统指定的策略就被运用到这个请求上,比如
名称的约束、密钥长度的约束等。
(4). RA用自己的私钥对用户申请信息签名,保证用户申请信息是RA提交给CA的。
(5). CA用自己的私钥对用户的公钥和用户信息ID进行签名,生成电子证书。这样,CA就将用户的信息和公钥捆绑在一起了,然后,CA将用户的数字证书和用户的公用密钥公布到目录中。
(6). CA将电子证书传送给批准该用户的RA。
(7). RA将电子证书传送给用户(或者用户主动取回)。
(8). 用户验证CA颁发的证书,确保自己的信息在签名过程中没有被篡改,而且通过CA的公钥验证这个证书确实由所信任的CA机构颁发。
8. CA的类型有两大类:企业CA和独立CA。
企业CA:
企业CA需要AD服务,即计算机在活动目录中才可以使用。
当安装企业根CA时,对于域中的所有用户和计算机,都会被自动添加到受信任的根证书颁发机构的证书存储区中。
必须是域管理员,或是对AD具有写权限的管理员,才能安装企业根CA。
独立CA:
独立CA不需要使用AD目录服务。独立CA可以在涉及Extranet和Internet时使用。
向独立CA提交证书申请时,证书申请者必须在证书申请中明确提供所有关于自己的标识信息以及所需的证书类型(向企业CA提交证书申请时无需提供这些信息,因为企业用户的信息已经在AD中)。
默认情况下,发送到独立CA的所有证书申请都被设置为挂起,直到独立CA的管理员验证申请者的身份并批准申请。这完全是出于安全性的考虑,因为证书申请者的凭证还没有被独立CA验证。
根CA: 在组织的PKI中最受信任的CA, 大多数情况中,根CA只是用于向其他CA(称为从属CA)颁发证书。
从属CA: 由组织中的另一CA(一般是根CA)颁发证书的CA。通常,从属CA为特定的任务(如安全的电子邮件、基于Web的身份验证或智能卡验证)颁发证书,一般可以给用户和计算机颁发证书