网络安全简介(CA、SSL、TLS)
网络安全相关知识简介
在互联网环境中,你如何向别人证明:你就是你!
1、基本概念
1.1、数据加密
数据加密方式有很多,这里不介绍具体的加密算法及其技术细节,只是简单的介绍一下:对称加密与非对称加密。
1.1.1、对称加密
对称加密很简单,就是消息传递的双方共享同一个密码。消息发送人用密码对消息进行加密,然后将密文发给给消息接收人,消息接受人使用此密码对密文进行解密,然后阅读。
对称加密最大的优点就是计算量小,加密效率高,缺点则是密码安全系数并不是特别高(知道密码的人比较多)。
1.1.2、非对称加密
与对称加密对应的,非对称加密是指消息传递双发使用不同的密码,两个密码分别被称为私钥和公钥。私钥和公钥之间具备一定的数学关系:私钥加密的内容只有对应的公钥才能解密,公钥加密的内容只有对应的私钥才能解密。
需要使用此加密方式的人会具备私钥和公钥,私钥只有自己知道,公钥则对特定群体或者所有人公开。这种算法最大的优点就是安全,密码只有自己一个人知道,缺点则是计算量较大,效率低,不适合对大量内容进行加密。
应用场景:加密邮件。张三要向李四发送一封加密的邮件,因此张三使用李四的公钥对邮件内容进行加密,然后将密文发送给李四,即使中途王五截获到邮件内容也无法解读。因为只有李四的私钥才能解密邮件内容。
1.2、消息摘要(MessageDigest)
所谓消息摘要是指使用单向哈希算法,以任意长度的报文计算得到的固定长度的哈希值。所谓单向是指改算法是不可逆的,根据消息摘要无法计算出输入报文。消息摘要的另一个特定是:对输入报文的任何改动,都会导致最终的计算结果(也就是消息摘要本身)发生巨大的变化。因此,消息摘要可以任务是数字信息的指纹。
应用场景:常用的消息摘要算法有MD5、SHA等,我们下载Tomcat的时候,在软件下载链接后面经常看到pgp、md5、sha1等链接,点进去之后可以看到一串无意义的字符,这些就是与算法对应的消息摘要,用来确保你下载的软件包完整可靠,没有被篡改。当然,你需要根据你下载的软件自己计算出一个报文摘要,如果与之相同,说明你下载的软件包没有问题,否则可能已经被人动过手脚。
1.3、数字签名(DigitalSignature)
数字签名与在纸上的物理签名效果类似——保证消息的真实性与不可伪造。签名过程通常是消息的发送方首先生成消息报文的消息摘要,然后使用自己的私钥对消息摘要进行加密,加密之后的消息摘要就是消息报文的签名,将和消息报文一起发送给消息接收方。
如果消息接受方需要验证真伪,首先使用消息发送方的公钥对数字签名进行解密从而得到报文消息摘要(如果解密失败,则签名肯定有问题)。然后使用相同的消息摘要算法重新计算接受到的消息报文的消息摘要,如果计算得到的消息摘要与解密得到的消息摘要不一致,则消息报文被人篡改。
1.4、数字证书(DigitalCertificate)
数字证书类似网上身份证,由第三方权威机构签发,用于鉴别证书持有人的身份的真实性。数字证书上包含了证书持有人的基本信息(如:网站域名、邮箱地址等)、证书持有人的公钥、证书颁发机构信息、证书颁发机构的数字签名以及证书有效期。
数字证书的申请过程通常是:证书申请人向证书签发机构提交申请,申请中包含申请人身份的基本信息以及申请人公钥。证书签发机构通过各种手段核实申请来源以及申请信息的真实性。核实通过之后,真实签发机构向申请人签发数字证书。
证书签发机构也有一个证书,其中包含了证书签发机构的公钥。任何人都可以获得该证书,并使用此证书来验证该机构签发的所有证书的真伪。默认情况下,大多数操作系统内以及内置来全球知名证书签发单位的根证书。
2、工作方式
2.1、HTTPS、TLS、SSL
https区别于http协议,全称Hyper Text Transfer Protocol over Secure Socket Layer,是http协议的安全版本。通常的http协议是以明文方式进行数据传输,不宜用于敏感信息,因此NetScape(网景)公司设计了SSL(Secure Sockets Layer)与http结合,使用加密方式进行数据传输。TLS被认为是SSL的升级版。
SSL/TLS提供的服务主要有:
1、身份认证,确保消息发送双方身份的真实性。
2、加密传输,消息以密文传递,防止中途被窃取。
3、数据校验,确保消息在传输途中不会被篡改。
SSL/TLS协议由两层结构构成:记录协议层(ecord Protocol Layer)和握手协议层(HandShake Protocol Layer)。握手协议层建立在记录协议层之上,用于核实双发身份、协商双发使用的加密方式、加密密码等信息。记录协议层建立在TCP/IP协议之上,用于数据等加密、解密、压缩、校验、切分、重组等工作。
下面两张图分别描述的握手过程和两边的数据变化情况:
3、参考阅读:
SSL/TLS协议运行机制的概述
SSL/TLS原理详解
图解SSL/TLS协议
网络安全简介(CA、SSL、TLS)相关推荐
- SSL/TLS 协议简介与实例分析
作者:drinkey 以前读RFC时总结的一篇文章,主要介绍了SSL/TLS协议的相关知识,包括协议本身以及简单的密码学概念,以及用实例解析了HTTP over SSL的协商过程,在最后简要列出了SS ...
- 第四篇:网络安全,SSL/TLS加密技术
文章目录 一.前言 二.SSL/TLS 2.1 SSL/TLS是什么 2.2 SSL/TLS加密基本原理 2.3 SSL/TLS建立握手过程 三.CA & SSL Server & S ...
- 【网络通信 -- 直播】网络通信协议简介 -- SSL/TLS 与 DTLS
[网络通信 -- 直播]网络通信协议简介 -- SSL/TLS 与 DTLS [1]网络传输中加密的一般概念 对称密钥加密技术,加密过程和解密过程使用的是同一个密钥: 常见的对称加密算法有 DES.3 ...
- SSL/TLS协议的运行原理浅析—https通信过程及CA证书诠释
互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度.而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL TLS协议变得异常复杂.理清https原理与CA证书体系 互联网的通信 ...
- 加密与解密、OpenSSL(SSL/TLS)、OpenSSH(ssh)、dropbear
下面介绍的是Linux的加密与解密.OpenSSL(SSL/TLS).OpenSSH(ssh).dropbear. 一.数据的加密与解密 1.进程间通信基础 (1).进程间通信方式 同一主机间进程间的 ...
- 用OpenSSL编写SSL,TLS程序
http://zhoulifa.bokee.com/6134045.html http://blog.sina.com.cn/s/blog_86ca13bb0100vaph.html http://b ...
- OpenSSL编写SSL,TLS程序
一.简介: SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport Layer Security) ...
- SSL/TLS 配置
Quick Start 下列说明将使用变量名 $CATALINA_BASE 来表示多数相对路径所基于的基本目录.如果没有为 Tomcat 多个实例设置 CATALINA_BASE 目录,则 $CATA ...
- 假如让你来设计SSL/TLS协议,你要怎么设计呢?
本文分享自华为云社区<假如让你来设计SSLTLS协议>,作者:元闰子. 前言 说起网络通信协议,相信大家对 TCP 和 HTTP 都很熟悉,它们可以说是当今互联网通信的基石.但是,在网络安 ...
最新文章
- WPF 设置类库项目为启动项,设置窗体跟随。
- 解决 .htaccess 导致的403禁止访问
- 关于 DOM 操作的几个类型
- 【算法】动图展示八大常用排序算法,一次看个够!
- 洛谷 - P5192 Zoj3229 Shoot the Bullet|东方文花帖|【模板】有源汇上下界最大流(有源汇有上下界的最大流)
- 硬核图解!断网了,还能ping通 127.0.0.1 吗?为什么?
- 前端学习(2856):简单秒杀系统学习之定时器循环显示
- Rabbit and Grass【博弈】
- HttpModule,HttpHandler 简介
- Pitch,Yaw,Roll的概念
- [高级光照]球谐光照
- 【Mac】mac安装go
- 在JSP中应用JavaBean
- Axure 元件导入元件库
- win8优化(win8优化大师设置开始界面)
- 安装SAP HANA单机数据库
- 计算机word页面设置A5,word页面缩放怎样设置
- 错误	C1083	无法打开源文件
- Quorum工作原理
- AndroidAPI