Http协议是常用的传输层协议,但有些时候我们需要更加安全的http协议,即Https协议。Https协议与Http协议的区别在于:Https协议在Http与传输层之间添加了一个用于加密的SSL(安全套接层)。
首先来分析下,一个信息想在网络中安全的传输,需要能够做到一下几点:
1. 防偷听(你在购物网站上填写你的银行卡密码,肯定不希望这个密码北其他人知道)
2. 防篡改(你在付款时,想某东转账100RMB,该信息在传输过程中被改为转账10000RMB,你会疯的)
3. 防冒充(你得知道,和你通信的服务器到底是不是某东的服务器,万一是个钓鱼网站呢)
SSL就是一个能够保证上面几点的密码框架,这个框架使用了一些常用的安全算法来保证防偷听,防篡改以及防冒充。我们来具体看下:
1. 防偷听:使用对称加密算法对需要发送的信息进行加密
(当然也可以使用非对称加密,但非对称加密的性能没有对称加密的性能好),一旦使用对称加密,就涉及到密钥的共享问题
(可以通过使用公钥对共享密钥加密来解决)。
2. 仿篡改:在发送消息的时候,生成一个MAC,和消息接收端进行认证即可。
3. 防冒充:在通信的时候要求服务器发送一个加了自己签名的公钥。
上面的三点分别对应对称加密,消息认证码,数字签名。
有了上面的基础,我们来看https的通信过程。
1. Client端发送请求,表示想要和Server端建立SSL连接。
2. Server端返回给客户端一个证书信息(其中包含Server端的公钥A)。
3. Client端生成一个对称加密用的密钥B,并用公钥A对密钥B进行加密
4. Server端利用与A对应的私钥解密出密钥B
5. Client端将信息用密钥B加密后发送给Server
如下图:
- 大小: 12.1 KB
分享到:
相关推荐
基于java的开发源码-SSL及HTTPS协议实例源码.zip 基于java的开发源码-SSL及HTTPS协议实例源码.zip 基于java的开发源码-SSL及HTTPS协议实例源码.zip 基于java的开发源码-SSL及HTTPS协议实例源码.zip 基于java的开发...
### 基于流谱理论的SSL/TLS协议攻击检测方法 #### 1. 引言 随着互联网技术的发展和普及,网络安全问题日益受到关注。其中,安全套接层/安全传输层(SSL/TLS)协议是保障互联网数据传输安全的重要机制之一。然而,...
基于SSL的身份认证和访问控制是网络信息安全领域中的重要技术,它通过SSL协议来确保用户身份的真实性和通信内容的保密性,同时控制对网络资源的访问权限。 在身份认证方面,SSL利用数字证书来验证服务器和客户端的...
本资源包含的是一些基于Java实现SSL和HTTPS协议的实际代码示例,帮助开发者更好地理解和应用这些技术。 SSL协议主要用于在客户端和服务器之间建立安全的通道,通过加密通信数据,防止数据在传输过程中被窃取或篡改...
本资源“基于Java的中的SSL及HTTPS协议实例源码.zip”包含了实现这些协议的代码示例,有助于开发者深入理解并应用到实际项目中。 SSL是一种网络安全协议,其主要功能是为网络通信提供加密处理,保证数据在网络传输...
而Java作为广泛应用的编程语言,提供了丰富的API来支持SSL和HTTPS协议的实现。 1. SSL/TLS协议基础: SSL/TLS协议的主要目的是为网络通信提供加密处理,防止数据被第三方窃取或篡改。它通过握手协议建立安全连接,...
Tomcat 开启基于 HTTPS 的 SSL 配置 在互联网时代,安全性问题变得越来越重要,为了保护用户的隐私和数据,越来越多的网站开始使用 HTTPS 协议。Tomcat 作为一个流行的 Java Web 服务器,当然也支持 HTTPS 协议。...
在IT领域,尤其是在网络通信和安全方面,Java是一种广泛使用的编程语言。SSL(Secure Sockets Layer)和其后续版本TLS(Transport ...无论你是哪一类,这个基于Java的SSL及HTTPS协议实例源码都是一份宝贵的参考资料。
对于服务器,可能需要配置HTTPS协议,这通常涉及到修改服务器配置文件,如Apache的httpd.conf或Nginx的nginx.conf,设置SSL证书路径,开启SSL监听端口。 此外,进行SSL/TLS的性能优化也是重要环节。这包括选择合适...
本示例("android htpps的demo基于SSL安全传输协议的")旨在演示如何在Android应用中实现安全的HTTPS连接。 首先,了解HTTPS的核心概念是关键。HTTPS通过SSL/TLS证书验证服务器的身份,这些证书通常由权威的证书...
SSL(Secure Sockets Layer)协议是互联网上广泛使用的安全通信协议,主要负责在客户端和服务器之间建立安全的数据传输通道,确保数据的机密性和完整性。本文将深入解析SSL协议的各个方面,包括其概述、记录层协议和...
总之,Java中的SSL和HTTPS协议是网络安全的重要组成部分,它们为基于Java的应用提供了安全的数据传输环境。通过学习和实践这些源码,开发者不仅可以了解协议的工作原理,还能提升在实际项目中实现安全通信的能力。
HTTPS 是一种基于 SSL/TLS 加密的协议,用于确保数据在网络传输过程中的安全性。下面将详细介绍如何在 SpringBoot 中配置 SSL 证书,以实现 HTTPS 访问。 环境准备 首先,需要确保 JDK 环境已经正确配置好了。在 ...
本项目“boost基于SSL的通信CLIENT”就是利用Boost库中的Asio模块来实现一个基于openssl的SSL客户端DEMO。 首先,Boost.Asio是Boost库中的一个子模块,它提供了一种简洁且强大的接口来处理网络通信,如TCP、UDP等。...
https协议是基于SSL/TLS协议的,它可以用来实现安全的数据传输。文章中使用了openssl和nginx实现了https自签有效加密。 知识点七:证书链的概念 证书链是指从根证书到服务器证书的一系列证书,它们之间存在着层次...
SSL协议不仅被广泛用于Web安全领域,例如通过HTTPS协议实现网站的安全访问(https://secure.example.com),还可以应用于其他基于TCP的服务,如安全POP、安全TELNET等。这使得几乎所有的基于TCP的协议经过适当的修改...
HTTPS 协议是基于 SSL/TLS 协议的安全传输协议,它提供了身份验证、加密传输和数据一致性等功能。在本文中,我们将对 HTTPS 协议的基本概念、工作原理和协议层次结构进行详细的分析。 一、SSL 协议简介 SSL 协议...
"基于SSL的操作网页POST自动化"是一个涉及到网络安全、数据传输以及自动化技术的主题。在这个场景中,我们将主要探讨如何利用SSL(Secure Sockets Layer)协议进行安全的数据交换,结合VC++编程语言实现POST请求,...
JBOSS 7 基于 HTTPS 双向 SSL 认证 JBOSS 7 基于 HTTPS 双向 SSL 认证是一种高级别的安全认证机制,该机制使用 SSL 证书对服务器和客户端进行身份验证,以确保数据传输的安全性。在本文中,我们将详细介绍 JBOSS 7 ...