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 (一)的更多相关文章

  1. web站点启用https (二)

    接上篇内容 二.实际配置案例 实验案例:为web站点启用https 实验环境:seven公司有一个web站点,域名为www.seven.com,启用的身份验证方式是基本验证方式.随着业务发展想成为网上 ...

  2. C++模拟Http/Https访问web站点

    一.概述 1.Http与Https的区别与联系 在OSI参考模型中Http与Https均属于应用层协议.Http即Hypertext Transfer Protocol,超文本传输协议:而Https为 ...

  3. 如何免费的让网站启用https

    本文源自酷壳:如何免费的让网站启用HTTPS 今天,我把CoolShell变成https的安全访问了.我承认这件事有点晚了,因为之前的HTTP的问题也有网友告诉我,被国内的电信运营商在访问我的网站时加 ...

  4. gitlab 启用HTTPS

    NGINX设置 启用HTTPS 警告 Nginx配置会告诉浏览器和客户端,只需在未来24个月通过安全连接与您的GitLab实例进行通信.通过启用HTTPS,您需要至少在24个月内为您的实例提供安全连接 ...

  5. 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& ...

  6. 基于 Tornado 实现的 Web 站点反向代理

    因为一个奇怪的需求,使用 Python 和 Tornado 框架实现了一个 Web 站点的反向代理.实现的功能是这样: 假设这个反向代理网站的地址是 http://www.example.com 访问 ...

  7. 现在就启用 HTTPS,免费的!

    现在就启用 HTTPS,免费的! 现在,你应该能在访问https://konklone.com的时候,在地址栏里看到一个漂亮的小绿锁了,因为我把这个网站换成了HTTPS协议.一分钱没花就搞定了. 为什 ...

  8. Nginx 核心配置-新建一个web站点

    Nginx 核心配置-新建一个web站点 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx基础配置常用参数说明 [root@node101.yinzhengjie.or ...

  9. 如何为网站启用HTTPS加密传输协议

    前言 当今时代对上网的安全性要求比以前更高,chrome和firefox也都大力支持网站使用HTTPS,苹果也从2017年开始在iOS 10系统中强制app使用HTTPS来传输数据,微信小程序也是要求 ...

随机推荐

  1. mybatis框架入门程序:演示通过mybatis实现数据库的添加操作

    1.mybatis的基本配置准备在我的这篇博文中可以找到:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2. 映射文件: 在User.xml中添 ...

  2. Python爬虫利器一之Requests库的用法

    前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来 ...

  3. GPS坐标换算为百度坐标(转)

    最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...

  4. swift - 动画学习

    // //  ViewController.swift //  MapAnimation // //  Created by su on 15/12/10. //  Copyright © 2015年 ...

  5. 基于智能手机的3D地图导航

    https://www.gpsworld.com/resources/archives/ Going 3D Personal Nav and LBS To enrich user experience ...

  6. C++笔记16之const的用法总结

    const主要是为了程序的健壮型,减少程序出错. 最基本的用法: const int a=100; b的内容不变,b只能是100也就是声明一个int类型的常量(#define b =100) int  ...

  7. 轉:Jquery绑定img的click事件

    用JQUERY给IMG element绑定click事件的时候,直接用img.click(function(){...})不起作用,如下面代码$("img.ms-rteImage-Light ...

  8. 转:css实现强制不换行/自动换行/强制换行

    css实现强制不换行/自动换行/强制换行 [日期:2007-08-22] 来源:  作者: [字体:大 中 小] 强制不换行 div{ white-space:nowrap;} 自动换行 div{  ...

  9. CGLIB实现动态代理

    JDK动态代理和CGLIB字节码生成的区别? * JDK动态代理只能对实现了接口的类生成代理,而不能针对类 * CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法   因为是继承 ...

  10. Android-Activity启动模式-应用场景

    在上一篇博客中,Android-Activity启动模式(launchMode),就介绍了Activity四种启动模式的特点与使用等,但是到底什么样子的场景,去使用什么样子的启动模式呢 Activit ...