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的身份验证或智能卡验证)颁发证书,一般可以给用户和计算机颁发证书
web站点启用https (一)的更多相关文章
- web站点启用https (二)
接上篇内容 二.实际配置案例 实验案例:为web站点启用https 实验环境:seven公司有一个web站点,域名为www.seven.com,启用的身份验证方式是基本验证方式.随着业务发展想成为网上 ...
- C++模拟Http/Https访问web站点
一.概述 1.Http与Https的区别与联系 在OSI参考模型中Http与Https均属于应用层协议.Http即Hypertext Transfer Protocol,超文本传输协议:而Https为 ...
- 如何免费的让网站启用https
本文源自酷壳:如何免费的让网站启用HTTPS 今天,我把CoolShell变成https的安全访问了.我承认这件事有点晚了,因为之前的HTTP的问题也有网友告诉我,被国内的电信运营商在访问我的网站时加 ...
- gitlab 启用HTTPS
NGINX设置 启用HTTPS 警告 Nginx配置会告诉浏览器和客户端,只需在未来24个月通过安全连接与您的GitLab实例进行通信.通过启用HTTPS,您需要至少在24个月内为您的实例提供安全连接 ...
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- 基于 Tornado 实现的 Web 站点反向代理
因为一个奇怪的需求,使用 Python 和 Tornado 框架实现了一个 Web 站点的反向代理.实现的功能是这样: 假设这个反向代理网站的地址是 http://www.example.com 访问 ...
- 现在就启用 HTTPS,免费的!
现在就启用 HTTPS,免费的! 现在,你应该能在访问https://konklone.com的时候,在地址栏里看到一个漂亮的小绿锁了,因为我把这个网站换成了HTTPS协议.一分钱没花就搞定了. 为什 ...
- Nginx 核心配置-新建一个web站点
Nginx 核心配置-新建一个web站点 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx基础配置常用参数说明 [root@node101.yinzhengjie.or ...
- 如何为网站启用HTTPS加密传输协议
前言 当今时代对上网的安全性要求比以前更高,chrome和firefox也都大力支持网站使用HTTPS,苹果也从2017年开始在iOS 10系统中强制app使用HTTPS来传输数据,微信小程序也是要求 ...
随机推荐
- <<高级计算机网络>>(Advaned Computer Networks) 徐恪 徐明伟 陈文龙 马东超
目录 第1章 计算机网络与Internet1 1.1 引言1 1.2 Internet发展历史2 1.2.1 互联网发展的主要阶段4 1.2.2 互联网在中国的发展5 1.2.3 互联网主要创新5 1 ...
- [Training Video - 1] [Selenium Basics] [Download and Install Selenium]
Download Selenium Jars Configure jars in eclipse Webdriver http://docs.seleniumhq.org/download/ Sele ...
- ruby变量
Ruby 支持五种类型的变量. 一般小写字母.下划线开头:变量(Variable).局部变量的作用域从 class.module.def 或 do 到相对应的结尾或者从左大括号到右大括号 {}. 当调 ...
- Linux系统下安装ncurses库
ncurses库是一个Linux系统下的图形支持的函数库,字符终端处理库,包括面板和菜单. 今天在安装ncurses库的时候遇到了一些问题,现将遇到的问题所叙如下: 首先说明:本次安装采用的是源码包的 ...
- java程序无法启动:Unsupported major.minor version 51.0
今天在sae上部署了一个项目,结果总是出现503错误:service unavailable,然后jvm出现了一大串错误日志,如下 JAVA_SAE_Fatal_error: Failed start ...
- [javascript]两段 javaScript 代码的逻辑比较
两段 javaScript 代码的逻辑比较: #1 if(tagName.length < 3){ $(this).parent().addClass('active'); tagN ...
- GlusterFS 一
GlusterFS 一 1 安装源 yum install centos-release-gluster312.noarch 列出所有可用安装包yum list gluster* 安装glusterf ...
- postgresql的日志实现机制
1.事务的概念 事务是从实际生活中引入数据库的一个概念,即事务内的操作,要么全做,要么全不做.就像银行转账一样,当从一个帐户转出一部分钱之后,就必须在另一个帐户中存入相同数目的钱,若是转出钱之后, ...
- Linux Redis 开机启动
通过初始化脚本启动Redis 在Redis源代码目录的utils文件夹中有一个名为redis_init_script的初始化脚本文件.需要配置Redis的运行方式和持久化文件.日志文件的存储位置.步骤 ...
- C# 调用Delphi dll
delphi dll 源码: library dllres; type char10 = ..] of char; TMydata = packed record id: Integer; name: ...