一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情。
HTTP概括
目前全球互联网大厂正在HTTP往HTTPS迁移,chrome和火狐浏览器将对不采用HTTPS的加密网站提示不安全,苹果要求所有APP通信都必须采用HTTPS加密,小程序强制要求服务器端使用HTTPS请求
- 特点
- 保密性(防泄密)
- 完整性(防篡改)
- 真实性(防假冒)
- 危害
- 窃听 密码、敏感信息
- 篡改 插入广告、重定向到其他网站(js和Head头)
SSL证书
SSL证书由浏览器中受信任的根证书颁布机构在验证服务器身份后颁发,具有网站身份验证和加密传输双重功能
- 密码学
- 对称加密 对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题,在发送密钥的过程中,密钥有很大的风险会被黑客们拦截,现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人
2.不对称加密 产生一对密钥,公钥负责加密
- SSH公钥登录原理
- 密码口令登录 通过密码进行登录,流程:
- 客户端连接上服务器后,服务起把自己的公钥传给客户端
- 客户端输入服务器密码通过公钥加密之后传给服务器
- 服务器根据自己的私钥解密登录密码,如果正确那么客户端可以登录
- 公钥登录 公钥登录时为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:
- 客户端生成RSA公钥和私钥
- 客户端将自己的公钥存放在服务器
- 客户端请求连接服务器,服务器将一个用公钥加密的随机字符串发送给客户端
- 客户端根据自己得私钥加密这个随机字符串之后再发送给服务器
- 服务器接受到加密后的字符串之后用公钥解密,如果正确则让客户端登陆,否则拒绝
# ⽣成公钥
ssh-keygen -t rsa -P ''
xubin@xubindeMBP:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xubin/.ssh/id_rsa):
/Users/xubin/.ssh/id_rsa already exists.
Overwrite (y/n)? yes
Enter passphrase (empty for no passphrase):
查看公钥
cat .ssh/id_rsa.pub
将公钥拷贝到服务器
scp ~/.ssh/id_rsa.pub root@47.98.252.XXX:/root
将公钥加入到信任列表
cat id_dsa.pub >> ~/.ssh/authorized_keys