OpenSSL和DNS概述

1、简述常见加密算法及常见加密算法原理,最好使用图例解说 

现代信息传输,用加密解密技术来抵御攻击和提供安全,现代加密技术是对数据块进行加密的的一种方法,区别于传统的加密方法,那么,解密也是一样,对数据块进行解密;其常见的加密算法有对称加密和非对称加密,以及单向加密等。每种加密算法都各自有优缺点,其使用的算法原理也都不一样。

对称加密:

其算法有DES,3DES,AES,Blowfish,Twofish,IDEA,RC6,CAST5等;

特性为:加密和解密使用同一密钥;将原始数据分割成为固定大小的块,逐个进行加解密;

缺陷为:密钥过多,密钥分为困难;

非对称加密:(也叫公钥加密)

其算法有RSA,DSA,ELGamal等;

公钥加密是使用一对密钥对儿,其分为公钥和私钥,公钥是从私钥中提取出来的,公开给所有人,也叫pubkey;私钥是可以通过工具创建,使用者自己保留的,必须保证其私密性,也叫secret key;

其特点为:用公钥加密的数据只能使用与之配对儿的私钥进行解密,否则是无法解密的,反之,用私钥加密的,也得需要与之配对儿的公钥解密之后才能使用数据;

公钥加密的用途主要用于:数字签名,身份认证,密钥交换等;

数字签名:主要在于让接收方确认发送方的身份;

身份认证:发送方用自己的私钥加密数据,接收方用发送方的公钥解密数据,检查数据验证码,完成数据的完整性、合法性;

密钥交换:发送方用对称加密生成密钥,用接收方的公钥加密生成密钥,发送给接收方,接收方用自己的私钥解密生成的密钥,然后用对称解密来得到数据;

其密钥交换的过程可以分为以下几个步骤:

1.tom用单向加密算法对数据进行计算,生成特征码;

2.tom用自己的私钥加密特征码,并将结果附加在数据后面;

3.tom用对称加密方法生成一个临时的对称密钥,并对整段数据做加密处理;

4.tom获取到jerry的公钥,并对临时生成的对称密钥进行加密,并将其结果附加在数据的后面;

5.tom将数据发送给jerry;

6.jerry用自己的私钥解密数据得到临时生成的对称密钥;

7.jerry再用解密过的对称密钥解密数据;

8.jerry在用tom的公钥解密特征码;

9.jerry再相同的单向加密算法对数据进行计算,生成特征码并进行比对;

10.之后jerry得到了tom传输的数据,这样就完成了数据的保密性,完整性,也完成了身份认证;

11.tom和jerry再传输数据时需要协商其单向加密算法,或将其算法类型附加在特征码上,互相交换公钥时要保证其安全性,保证自己私钥的私密性和安全性。

单向加密:

即提取数据指纹,只能加密,不能解密;

其单向加密算法有md5,定长输出,128位;还有sha1,160位;sha224,sha256,sha384,sha512等;

其单向加密具有雪崩效益,只要有一位不一样,那么全局结果就会有很大的差别;

其密钥交换还有个算法比较安全,DH算法,tom和jerry各自有两个较大的质数,分别对其值进行次方取模之类的运算,得其结果是一样的,也能完成密钥交换,有兴趣的同学可以了解下。

公钥加密还有个PKI机制,基于证书CA认证的机制,能保证其安全性,保密性,完整性等;

这里摘要其他同学的博客,我没有对加密算法进行图例解释,很抱歉,可参考以下地址:

https://blog.csdn.net/L835311324/article/details/81540641

 2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟 

web服务实现https安全协议访问,需要有证书认证,也就是CA签署并颁发的证书,基于这样的认证实现https的访问;

这里我们先搭建环境,主机A为CA主机,主机B为web主机,主机B生成证书到主机A请求签署,两个系统都是CentOS 7;

主机A地址为:10.9.3.100,主机B地址为:10.9.10.186,我这里做了路由转换,用的是桥接。

首先在CA主机也就是主机A先创建私有CA:

[root@localhost ~]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
....................+++
............+++
e is 65537 (0x10001)
#在CA主机上生成私钥,这里我用的是2048位的加密,注意:必须将输出的私钥到指定的目录下,如果想更换,需要更改配置文件;
[root@localhost ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
#这里就是自签证书;这里是交互式的;
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN 国家名称缩写,当然是中国了;
State or Province Name (full name) []:henan 省份;
Locality Name (eg, city) [Default City]:zhengzhou 城市;
Organization Name (eg, company) [Default Company Ltd]:ops 公司名;
Organizat
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值