HTTPS简介HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL什么是HTTPS1数字加密2•密码:对文本进行编码•密钥:改变密码行为的数字化参数•对称密钥加密系统:编/解码使用相同密钥的算法•非对称密钥加密系统:编/解码使用不同密钥的算法•数字签名:用来验证报文未被伪造或篡改的校验和•数字证书:由一个可信的组织验证和签发的识别信息加密、解密相关知识3HTTPS架构4HTTPS数字签名非对称加减密数字证书SSL/TSL数字摘要对称加减密SSL/TLS协议5SSL:(SecureSocketLayer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。TLS:(TransportLayerSecurity,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。SSL是Netscape开发的专门用户保护Web通讯的,目前版本为3.0。最新版本的TLS1.0是IETF(工程任务组)制定的一种新的协议,它建立在SSL3.0协议规范之上,是SSL3.0的后续版本。两者差别极小,可以理解为SSL3.1。SSL/TLS协议作用:6•认证用户和服务器,确保数据发送到正确的客户机和服务器;•加密数据以防止数据中途被窃取;•维护数据的完整性,确保数据在传输过程中不被改变。SSL、TLS的握手过程71.客户端发起请求3.客户端验证证书5.客户端发送数据.。。。。。2.服务器回应4.生成密钥.。。。。。a.支持的协议版本b.支持的加密算法c.产生一个随机数a.确定的加密协议版本及加密算法b.服务器证书c.服务器随机数a.随机数(使用证书中公钥加密)b.编码改变通知c.握手结束通知a.编码改变通知b.握手结束通知对称加密数据传输简化版握手过程81、客户端发送请求,服务器返回公钥给客户端;2、客户端生成对称加密秘钥,用公钥对其进行加密后,返回给服务器;3、服务器收到后,利用私钥解开得到对称加密秘钥,保存;4、之后的交互都使用对称加密后的数据进行交互。简化版握手过程9数字证书10•为什么要有数字证书•数字证书的颁发过程用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息(根证书私钥签名)。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布,数字证书各不相同,每种证书可提供不同级别的可信度。•证书包含哪些内容HTTPS相关配置111.为服务器生成证书C:\ProgramFiles(x86)\Java\jdk1.7.0_76\binkeytool-genkey-v-aliastomcat-keyalgRSA-keystoreD:\home\tomcat.keystore-validity365002.为客户端生成证书keytool-genkey-v-aliasmykey-keyalgRSA-storetypePKCS12-keystoreD:\home\mykey.p12双击mykey.p12文件,即可将证书导入至浏览器(客户端)。3.让服务器信任客户端证书keytool-export-aliasmykey-keystoreD:\home\mykey.p12-storetypePKCS12-storepasspassword-rfc-fileD:\home\mykey.cer下一步,是将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:keytool-import-v-fileD:\home\mykey.cer-keystoreD:\home\tomcat.keystore通过list命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:keytool-list-keystoreD:\home\tomcat.keystore(tomcat为你设置服务器端的证书名)。HTTPS相关配置124.让客户端信任服务器证书keytool-keystoreD:\home\tomcat.keystore-export-aliastomcat-fileD:\home\tomcat.cer(tomcat为你设置服务器端的证书名)。5.配置Tomcat服务器Connectorport=8443protocol=org.apache.coyote.http11.Http11NioProtocolSSLEnabled=truemaxThreads=150scheme=httpssecure=trueclientAuth=falsesslProtocol=TLSkeystoreFile=E:\\home\\tomcat.keystorekeystorePass=123456truststoreFile=E:\\home\\tomcat.keystoretruststorePass=123456/6.测试在浏览器中输入:,会弹出选择客户端证书界面,点击“确定”,会进入tomcat主页,地址栏后会有“锁”图标,表示本次会话已经通过HTTPS双向验证,接下来的会话过程中所传输的信息都已经过SSL信息加密。HTTPS和HTTP的区别131.HTTP的URL以http://开头,而HTTPS的URL以https://开头2.HTTP是不安全的,而HTTPS是安全的3.HTTP标准端口是80,而HTTPS的标准端口是4435.HTTP无法加密,而HTTPS对传输的数据进行加密6.HTTP无需证书,而HTTPS需要CA机构wosign的颁发的SSL证书THANKS知识回顾KnowledgeReview•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级放映结束感谢各位批评指导!让我们共同进步