安全编程基础

安全编程基础


目录

  1. 数据加密
  2. 数字签名
  3. 哈希算法
  4. 数字签名
  5. PKI体系
  6. 加密通信

一.数据加密

分类
对称加密,非对称加密
对称加密
构成:明文,算法,密钥

知识点:

  • 算法有 DES,AES
  • 密钥只有一个
  • 私钥不能暴露

非对称加密
构成:明文,算法,私钥,公钥

知识点

  • 私钥和公钥都可以被用作加密或者解密
  • 私钥加密的明文必须用对应的公钥解密
  • 公钥加密的明文必须用对于的私钥解密
  • 双密钥加密算法有RSA等
  • 公钥是公开的,私钥是保密的
  • 任何人可以把自己的信息通过公钥和算法加密,只有公钥方才能解开密文
二.数字签名

概念:
用于标记数字文件拥有者,创造者,分发者身份的字符串。

内容:
验证方提供的公钥

三.PKI

概念
PKI全称公钥基础设施。是使用非对称加密理论,提供数字签名,加密,数字证书等服务的体系,一般包括权威认证机构(CA),数字证书库,密钥备份及恢复系统,证书作废系统,应用接口(API)等

四.哈希算法

概念:
哈希算法是一种从任意数据中创建固定长度摘要信息的办法,对于不同的数据,产生的信息是唯一的。常见的哈希算法包括MD5,SHA-1等

五.加密通信

1.SSL协议
概念
SSL是网景公司开发的位于TCP与HTTP之间的透明安全协议,可以把HTTP包数据以非对称加密的形式往返于与浏览器和站点之间,从而避免被第三方非法获取。

组成
上层协议包括SSL握手协议,更改密码规格协议,警报协议
下次协议包括SSL记录协议

2.TLS协议
建立于SSL v3.0之上的兼容协议,它们的主要区别在于加密算法上
3.加密通信的流程

  1. 输入HTTPS协议的网址
  2. 服务器向浏览器返回证书
  3. 验证证书的合法性
  4. 浏览器使用证书中的公钥加密一个随机对称密钥,并将加密后的没有和使用没有加密后的请求URL发送给服务器
  5. 服务器用私钥解密随机对称密钥,并用获取的密钥解密加密的请求URL
  6. 服务器把用户请求的网页用密钥加密,并返回给用户
  7. 用户用密钥解密服务器发来的网页数据,并将其显示出来

你可能感兴趣的:(安全编程基础)