目录
HTTPS简介
https概念
SSL/TLS
加/解密方式
对称加密
非对称加密
消息摘要
数字签名
数字证书
http与https的区别
作业需求
编辑
HTTPS简介
https概念
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL 。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层。
SSL/TLS
SSL对传输的数据进行加密,使第三方无法“窃听”传输并查看正在传输的数据,只有用户的计算机和服务器能够识别数据。 相当于在传输层与保护层之间多了一层安全层(相当于一层中间媒介)
SSL将您的姓名、地址和信用卡信息保存在您与提供这些信息的商户之间。如果没有这种加密,网上购物时,个人信息可能会被第三放窃取。当您访问一个以“https”开头的Web地址时,“http”后面的“s”表示该网站是安全的,这些网站经常使用SSL证书来验证其真实性。
加/解密方式
对称加密
同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
简单来说就是 对明文信息加密解决都用一个钥匙来完成 缺点:不安全 优点:效率较高于非对称加密
非对称加密
非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。
甲方只能用其私钥解密由其公钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
一般来说都是进行混合使用
消息摘要
将一段明文信息通过哈希算法生成一段密文信息(不可逆)称为消息摘要
数字签名
对消息摘要的信息 进行CA秘钥加密,生成的内容称为数字签名
数字证书
数字签名+服务端的公钥和一些其他信息(当前证书的过期时间,办法机构之类的信息) 组成发送给客户端的内容就是数字证书
请求过程
http与https的区别
HTTP和HTTPS的区别
HTTP和HTTPS的区别
到现在为止,我们就比较清楚HTTPS和HTTP的区别;借用比较规范的回答就是下面几点。
HTTPS和HTTP的区别主要如下:
1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
HTTPS提高了安全性,但其他方面就不如HTTP了
1、因为HTTPS要保证安全,所以HTTPS协议握手阶段比较费时,会消耗更多的CPU
2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗。
3、SSL证书需要钱,功能越强大的证书费用越高。
4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。
作业需求
(1)先下载mod_ssl 程序
[root@node1 myssl]# yum install mod_ssl
(2)然后在服务器上对应路径下生成私钥文件与证书文件
[root@node1 myssl]# cd /etc/pki/tls/private/
[root@node1 private]# openssl genrsa -ase128 2048 > ceshi.key 私钥文件
[root@node1 tls]# cd /etc/pki/tls/certs/
[root@node1 certs]# req -utf8 -new -key ceshi.key -x509 -days -365 -out ceshi.crt 证书文件
(3)做虚拟主机,虚拟目录,目录权限
比如基于域名www.openlab.com 可以访问 welcome to openlab
则需要在Linux重点 /etc/hosts 配置域名解析映射
然后配置documentroot所对应目录下的index.html (网页资源文件)
做子网站也就是虚拟目录相当于别名 能够不仅仅只能访问document下的网页资源文件 也能够访问其他路径下的index.html文件
在我的配置中存放其他资源文件的路径在root目录下 若不改目录对其他用户的权限控制 也是访问不了对应的资源文件
chmod /root 777
然后在访问student下需要验证用户身份
则在student对应的真实目录权限<diretcory> 对应认证与允许访问的用户 </directory>
对真实student路径下的目录里面 要添加 用户验证配置
eg:
htpasswd
是用于存储用户名和密码的平面文件。 该文件通常由Web服务器软件(例如Apache, Nginx等)使用,以便通过HTTP基本身份验证来验证用户。

还有就是访问money时用https , 访问其他子界面时用的 http 如何实现
用端口号标定这两个不同的网页
在对应的<virtualhost 192.168.240.100 :443>下配置ssl认证及其配置
在这下面配置money的虚拟目录即可
在对应的<virtualhost 192.168.240.100 :80>下存放student 和 data的资源文件