博客
关于我
HTTPS通信安全及证书管理
阅读量:264 次
发布时间:2019-03-01

本文共 1445 字,大约阅读时间需要 4 分钟。

HTTPS基础

HTTPS是基于安全套接字协议(TLS/SSL)之上的HTTP通信协议

其核心优势在于能够抵御窃听、篡改、冒充、劫持等多种攻击方式,通过身份验证、信息加密以及完整性校验来保障通信安全

相比HTTP协议,HTTPS在TCP协议的三次握手之后增加了四次握手过程,从而实现了加密通信

PKI体系原理

PKI体系是公钥基础设施的简称,其核心功能是通过数字证书来管理公钥的分发与信任

在PKI体系中,信任方通常由受可信的证书颁发机构(CA机构)签名并分发

具体流程如下:CA机构审核申请方的身份信息后,利用其私钥对服务商的证书请求进行签名

服务商证书中包含CA机构的公钥,这样客户端可以利用CA机构的公钥来验证服务商证书上的签名,从而确认服务商的身份

SSL/TLS协议

SSL/TLS是PKI体系的一种具体实现方案

TLS是传输层安全协议的最新版本,基于RSA加密算法进行通信加密

SSL是TLS的上一代产品,已被废弃

SSL/TLS通信流程

SSL/TLS通信过程可分为以下几个阶段:

  • 客户端发送加密通信请求及随机数1
  • 服务器返回证书(包含非对称加密公钥)及随机数2
  • 客户端验证证书真实性,并从中提取公钥,通知服务器握手结束等,同时发送随机数3加密后的数据
  • 服务器利用私钥解密随机数3,并通知客户端握手结束等
  • 两端基于三个随机数生成对称加密秘钥session key,随后进入常规HTTP协议通信,并使用session key进行加密
  • 证书概要

    证书是CA机构基于申请方的服务商身份信息签发的身份认证凭据

    浏览器预装了常用CA根证书,这些根证书由可信的CA机构签发

    对于开发者而言,可以选择使用免费的CA机构如Let's Encrypt签发的证书

    证书可通过信任链传递有效性,信任链由CA机构的自签名证书开始

    证书内容通常包括:CA私钥签名、CA公钥、签发机构信息、域名、申请者信息等

    证书主要分为两类:自签名证书和CA证书

    证书吊销方式包括CRL文件和OCSP(在线证书状态查询)

    常见的证书格式包括X.509、PKCS#7等

    常规证书签发步骤

    以下是使用openssl工具生成和签发证书的常规步骤:

    openssl genrsa -out domain.key 4096  
    # 生成RSA私钥domain.key
    openssl req -new -key domain.key -out domain.csr
    # 基于domain.key生成证书请求 CSR
    openssl x509 -req -in domain.csr -signkey domain.key -out domain.crt
    # CA机构签发证书domain.crt

    如果需要自签名证书,可使用以下命令:

    openssl x509 -req -in domain.csr -signkey domain.key -extensions v3_ca -out domain_ca.crt  
    # 生成自签名CA证书domain_ca.crt

    对于子域名或备用域名的CA证书签发,可使用以下命令:

    openssl x509 -req -in next_domain.csr -CA domain_ca.crt -CAkey domain_ca.key -CAcreateserial -extensions v3_usr -out next_domain_ca.crt  
    # 生成基于CA证书的子证书

    转载地址:http://vlxa.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现上传文件到FTP服务器(附完整源码)
    查看>>
    Objective-C实现两数之和问题(附完整源码)
    查看>>
    Objective-C实现串口通讯(附完整源码)
    查看>>
    Objective-C实现串逐位和(附完整源码)
    查看>>
    Objective-C实现主存储器空间的分配和回收(附完整源码)
    查看>>
    Objective-C实现乘方运算---m的n次方(附完整源码)
    查看>>
    Objective-C实现二叉树遍历算法(附完整源码)
    查看>>
    Objective-C实现二进制和算法(附完整源码)
    查看>>
    Objective-C实现二进制补码算法(附完整源码)
    查看>>
    Objective-C实现互斥锁同步执行两个线程函数(附完整源码)
    查看>>
    Objective-C实现交易密码算法(附完整源码)
    查看>>
    Objective-C实现人工势场法(附完整源码)
    查看>>
    Objective-C实现代理服务器(附完整源码)
    查看>>
    Objective-C实现以递归的形式MatrixExponentiation矩阵求幂算法 (附完整源码)
    查看>>
    Objective-C实现优先队列算法(附完整源码)
    查看>>
    Objective-C实现伽玛Gamma函数(附完整源码)
    查看>>
    Objective-C实现位置型pid算法(附完整源码)
    查看>>
    Objective-C实现低通滤波器(附完整源码)
    查看>>
    Objective-C实现使用数组实现约瑟夫环(附完整源码)
    查看>>
    Objective-C实现使用管道重定向进程输入输出(附完整源码)
    查看>>