密码学的应用

本文介绍了密码学的应用,包括使用openssl进行对称加密(rc4、AES、3DES)和非对称加密(RSA)的操作。此外,详细阐述了如何通过自签名CA证书生成HTTPS服务器配置,并在Apache上部署SSL。最后,讲解了SSH密钥对登录的配置和验证过程。
摘要由CSDN通过智能技术生成
  • openss基础实验

openssl是Linux内置的一款开源工具,实现了常见的密码算法与应用。通过openssl操作,完成各种密码算法的应用。

创建一个文件,用于被加密,文件内容为12345,文件名为test.txt

echo 12345 >test.txt

1、对称加密

1、使用rc4加解密

加密
openssl enc -e -rc4 -in test.txt -out test_rc4.enc

解密
openssl enc -d -rc4 -in test_rc4.enc -out test_rc4.dm

2、使用AES加解密

openssl enc -e -aes-128-cbc -a -salt -in test.txt -out test_aes128.enc

解密

openssl enc -d -aes-128-cbc -a -salt -in test_aes128.enc -out test_aes128.d

3、使用3DES加解密

加密
openssl enc -e -des3 -a -salt -in test.txt -out test_des3.enc

解密
openssl enc -d -des3 -a -salt -in test_des3.enc -out test_des3.d

二、非对称加密

1、RSA加解密码

生成RSA密钥对

openssl genrsa -out rsa.key 1024

导出公钥

openssl rsa -in rsa.key -pubout -out rsa_pub.key

使用公钥加密文件

openssl rsautl -encrypt -in test.txt -inkey rsa_pub.key -pubin -out test_rsa.enc

使用私解解密文件

openssl rsautl -decrypt -in test_rsa.enc -inkey rsa.key -out test_rsa.c

使用公钥解密报错

openssl rsautl -decrypt -in test_rsa.enc -inkey rsa_pub.key -out test_rsa.c

  • 密码学之apache部署https服务器

一、生成独立的CA

1、 生成ca的key
openssl genrsa -des3 -out ca.key 4096

2、生成CA的证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

二、生成服务器的私钥key和签名请求文件csr

1、生成https服务器私钥

openssl genrsa -des3 -out myserver.key 4096

2、生成https服务器证书请求文件

openssl req -new -key myserver.key -out myserver.csr

利用ca的证书和key,生成我们的证书

openssl x509 -req -days 365 -in myserver.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out myserver.crt

Set_serial设置的证书的编号

三、安装apache的ssl模块,

1、服务上已经安装有apache,要实现apache的https功能,需要安装ssl模块

yum install -y mod_ssl

四、复制证书到对应路径

cp myserver.crt  /etc/pki/tls/certs/

cp myserver.key /etc/pki/tls/private/

五、修改apache配置文件,让证书生效

vim /etc/httpd/conf.d/ssl.conf

将证书和私钥路径指为如图

保存并退出文件

六、重启apache服务

systemctl restart httpd

注意输入myserver.key的加密密码

七、测试网站证书

使用客户端chrome浏览器访问服务器https页面,

我这里服务器ip是192.168.0.232

https://192.168.0.232

高级

继续前往

查看服务器证书,点“不安全”

  • 使用密钥登录ssh服务器

SSH登录除了传统的密码登录,可以使用密钥文件登录,结合PAM模块,也可以实现双因子登录等。

一、配置服务器SSH密钥登录

以下操作使用服务器进行

1、编辑SSH配置文件

vim /etc/ssh/sshd_config

2、删除#号

删除PubkeyAuthentication yes此行前面的#号

保存文件并退出

3、重启ssh服务

systemctl restart sshd

二、使用客户端生成密钥

以下操作使用客户端进行

1、生成SSH登录的密钥对

ssh-keygen -t rsa

2、查看生成的密钥

ls -l /root/.ssh/

确保以下两个文件是新生成的。

三、上传客户端公钥证书到服务器

以下操作使用客户端进行

1、使sftp连接服务器

sftp root@192.168.0.6

输入yes

输入服务器密码

2、上传公钥文件

put /root/.ssh/id_rsa.pub

3、退出sftp客户端

exit

四、配置服务器公钥

以下操作使用服务器进行

通过第三步,我们已经将公钥证书放到了/root/id_rsa.pub

这里我们将公钥文件输出到服务器配置文件中

cat /root/id_rsa.pub  >>  ~/.ssh/authorized_keys

五、验证密钥登录

以下操作使用客户端登录

1、指定私钥文件登录

ssh -i /root/.ssh/id_rsa  root@192.168.0.6

此时我们可以看到直接登录进了服务器,并没有输入密码。因为我们使用了证书验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值