首页 > 其他分享 >安全HTTP——HTTPS

安全HTTP——HTTPS

时间:2024-08-16 13:58:01浏览次数:10  
标签:HTTP 安全 密钥 HTTPS 长度 加密 安全性 加密算法 客户端

1.概述

HTTPS通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来加密HTTP请求和响应的内容。

HTTP:HTTP——应用层、TCP——传输层、IP——网络层、网络接口——数据链路层 ;

HTTPS:HTTP——应用层、SSL或TLS——安全层、TCP——传输层、IP——网络层、网络接口——数据链路层;

HTTPS具备的功能:

  • 服务器认证(客户端知道它们是在与真正的而不是伪造的服务器通话)
  • 客户端认证(服务器知道它们是在与真正的而不是伪造的客户端通话)完整性(客户端和服务器的数据不会被修改)。
  • 加密(客户端和服务器的对话是私密的,无需担心被窃听)。
  • 效率(一个运行的足够快的算法,以便低端的客户端和服务器使用)。
  • 普适性(基本上所有的客户端和服务器都支持这些协议)。
  • 管理的可扩展性(在任何地方的任何人都可以立即进行安全通信)
  • 适应性(能够支持当前最知名的安全方法)。

1.1  HTTPS的工作流程:

1)客户端请求安全连接

• 当客户端(如浏览器)向服务器发出HTTPS请求时,会要求建立一个安全连接。

2)服务器发送证书

• 服务器响应请求并发送一个数字证书(SSL/TLS证书)给客户端。这个证书由受信任的证书颁发机构(CA)签发,包含服务器的公钥和其他身份验证信息。

3)客户端验证证书

• 客户端使用证书中的公钥和CA的根证书验证服务器的证书是否合法。如果证书合法且未过期,客户端将继续下一步,否则会提示用户安全警告。

4)密钥协商

• 一旦证书验证通过,客户端和服务器之间会进行密钥协商,生成一个会话密钥(session key)。这个会话密钥用于加密之后的数据传输。

5)建立加密连接

• 使用会话密钥,客户端和服务器之间的通信内容(如HTTP请求和响应)将被加密传输,确保即使被拦截,也无法轻易解密。

6)传输数据

• 在加密通道上,客户端和服务器进行正常的HTTP通信,但数据都是经过加密的,只有通信双方能解密查看。

2. HTTPS技术知识分解

介绍HTTPS之前,先介绍一些SSL和HTTPS用到的加密编码技术的知识;

数字签名:用来验证报文未被伪造或篡改的校验和;

数字证书:由一个可信的组织验证和签发的识别信息;

2.1 密钥的分类

1. 对称密钥(Symmetric Key)

• 在对称加密算法中,使用相同的密钥进行加密和解密。这意味着加密和解密双方必须共享同一个密钥。

优点:对称加密速度快,适合处理大数据量的加密任务。

缺点:密钥的分发和管理较为困难,尤其是在需要安全传输密钥的情况下。

常见对称加密算法:AES(高级加密标准)、DES(数据加密标准)、3DES(三重数据加密算法)。

2. 非对称密钥(Asymmetric Key)

• 在非对称加密算法中,使用一对相关的密钥:公钥(Public Key)和私钥(Private Key)。公钥用于加密,私钥用于解密。即使公钥公开,只有拥有对应私钥的人才能解密数据。

优点:安全性较高,不需要在通信前共享密钥。

缺点:加密和解密的速度比对称加密慢,适合加密较小的数据或用于密钥交换。

常见非对称加密算法:RSA、ECC(椭圆曲线加密)、DSA(数字签名算法)。

3. 会话密钥(Session Key)

• 会话密钥是一种临时密钥,通常在一个通信会话期间生成并使用。会话结束后,密钥被废弃。会话密钥可以使用对称加密算法生成,并在非对称密钥加密的帮助下安全传输。

应用:HTTPS协议中的SSL/TLS握手过程中,会使用非对称加密来安全地交换会话密钥,然后使用会话密钥进行后续的数据加密。

2.2 密钥的长度

密钥长度(Key Length)是指加密算法中使用的密钥的位数(bit数)。密钥长度直接影响加密算法的安全性和性能,是衡量加密强度的重要指标之一。较长的密钥通常意味着更强的安全性,但也会影响加密和解密的速度和资源消耗。

密钥长度对安全性的影响

    1.    抵抗暴力破解:
    •    暴力破解(Brute Force Attack)是指通过枚举所有可能的密钥组合来解密数据的攻击方式。密钥长度越长,可能的密钥组合数就越多,从而增加了暴力破解的难度和时间。
    •    举例:对于一个64位的密钥,有2^{64}种可能的组合,而对于一个128位的密钥,则有2^{128}种可能的组合。由于密钥长度的增加,攻击者需要尝试的组合数量呈指数级增长,从而显著提升安全性。
    2.    算法的安全余量:
    •    除了防止暴力破解外,密钥长度还为抵御其他类型的攻击(如数学分析、量子计算等)提供了安全余量。随着计算能力的提升和新的攻击方法的出现,较短的密钥可能不再安全。
    •    例如,早期广泛使用的DES算法使用56位密钥,已经被认为不安全。现代加密标准如AES通常使用128位、192位或256位密钥,具有更高的安全性。
    3.    与算法类型相关:
    •    对称加密和非对称加密的密钥长度具有不同的安全性要求。
    •    对称加密(如AES):通常建议使用至少128位的密钥长度。256位密钥提供了更高的安全性,但在大多数情况下,128位密钥已经足够安全。
    •    非对称加密(如RSA):由于非对称加密算法的复杂性,其密钥长度通常需要更长才能达到相似的安全性。例如,2048位的RSA密钥通常被认为等效于128位对称密钥的安全性。

密钥长度对性能的影响

    1.    计算资源消耗:
    •    较长的密钥需要更多的计算资源来进行加密和解密操作,这可能会导致加密和解密速度变慢,特别是在处理大数据量时。
    •    在对称加密中,虽然较长密钥会增加运算时间,但对性能的影响通常较小。而在非对称加密中,密钥长度的增加对性能的影响更为显著,因为非对称加密本身计算复杂度较高。
    2.    存储和传输开销:
    •    较长的密钥需要更多的存储空间和传输带宽。在一些资源受限的环境中,如嵌入式系统或物联网设备,这可能成为一个限制因素。
    3.    实际使用中的权衡:
    •    在选择密钥长度时,需要在安全性和性能之间进行权衡。对于绝大多数应用场景,使用标准推荐的密钥长度可以在安全性和性能之间取得平衡。
    •    例如,在HTTPS通信中,通常使用2048位或以上的RSA密钥来进行SSL/TLS握手,而使用128位或256位的AES密钥来加密传输的数据。

现代加密标准中的密钥长度

    •    AES(对称加密):
    •    支持128位、192位和256位密钥长度。128位密钥已足够安全,而256位密钥提供更高的安全性,但计算开销略大。
    •    RSA(非对称加密):
    •    常用的密钥长度为2048位或4096位。随着计算能力的提升,2048位已成为最低安全标准,4096位则提供更高的安全性,但性能消耗也更大。
    •    ECC(椭圆曲线加密):
    •    ECC的安全性在较短的密钥长度下也能保持高水平。比如,256位的ECC密钥被认为具有与3072位RSA密钥相当的安全性,且性能表现更优。

总结

密钥长度是影响加密算法安全性的重要因素,较长的密钥提供更强的防护能力,但也会增加计算和资源的开销。在选择密钥长度时,应考虑应用场景的安全需求、计算能力以及可能的未来威胁。当前普遍采用的密钥长度通常能在安全性与性能之间取得较好的平衡。

2.3 加密算法

常用的加密算法可以分为对称加密算法、非对称加密算法和哈希算法三大类。每种算法有不同的应用场景和特点。以下是常用的加密算法:

2.3.1 对称加密算法

在对称加密中,加密和解密使用的是相同的密钥。这种加密方式计算速度较快,适用于加密大量数据。

1. AES(Advanced Encryption Standard,先进加密标准)

描述:AES是目前最广泛使用的对称加密算法,采用128位、192位或256位密钥。

应用

标签:HTTP,安全,密钥,HTTPS,长度,加密,安全性,加密算法,客户端
From: https://blog.csdn.net/sinat_33536503/article/details/141230764

相关文章

  • 【Nodejs】四、HTTP协议
    文章来自于李强老师nodejs讲解时的内容总结,记录后便于之后复习使用目录一、概念二、请求报文的组成三、HTTP的请求行四、HTTP请求头五、HTTP的请求体六、响应报文的组成七、创建HTTP服务(重点)7.1操作步骤7.2测试7.3注意事项八、浏览器查看HTTP报文九、......
  • 一个创新的国密前后分离快速开发平台,提供工作流、多租户、多数据源、Vue3表单设计器,高
    前言在当前的软件开发领域,尤其是企业级应用开发中,开发者面临着诸多挑战,如代码安-全、数据加密、国产化适配等。传统的开发平台往往难以满足这些日益增长的需求,特别是在国产化替代的大背景下,对于符合国家安-全标准的软件需求愈发迫切。这就需要一款能够解决上述痛点,同时提供高......
  • LiveGBS流媒体平台GB/T28181功能-获取GB28181接入的海康大华宇视华为摄像头硬件NVR设
    @目录1、背景2、视频流媒体集成2.1、页面集成2.1、视频流地址播放集成3、页面集成说明3.1、直播分享页集成3.1.1、查看通道3.1.2、开启分享3.1.3、分享页面传参3.1.4、分享页面播放3.2、时间轴回放分享页集成3.3、电子地图分享页集成4、视频流地址播放集成说明4.1、获取直播流地......
  • 【容器安全系列Ⅰ】- 以进程视角探索容器
        使用容器的一个很大好处是,大多数时候你不必考虑后台发生了什么,像Docker和Kubernetes这样的工具,在向用户隐藏系统复杂性方面做得很好。    但是,当您需要调试和保护容器环境时,了解如何在底层与容器进行交互会非常有帮助。幸运的是,由于大多数容器化工具......
  • 【网络架构系列】区域医疗中心安全防护思路:从基础防护体系到专项需求应对
    一、区域医疗中心的定位二、区域医疗中心网络安全防护现状解析2.1中心建设政策解读2.1.1安全管理制度需严格执行2.1.2明确安全责任归属2.1.3体系化建设方案需覆盖安全生命全周期2.2中心建设痛点分析2.2.1区域中心整体防护......
  • 【转】热烈祝贺华企盾科技获得ISO/IEC 27001信息安全管理体系认证证书!
    近日,北京华企盾科技有限责任公司顺利通过权威认证机构的严格审核,获得“ISO/IEC27001信息安全管理体系认证证书”。认证范围涵盖与计算机软硬件销售及软件运维相关的信息安全管理活动等。信息安全管理实用规则ISO/IEC27001是国际上具有代表性的信息安全管理体系标准,已在世界各......
  • oracle存儲過程掉用HTTP接口
    CREATEORREPLACEPROCEDUREFSMT.P_GET_HTTP_RES/*描述:存儲過程掉用HTTP接口作者:Janus日期:2024-08-15*/(M_DOC_NOINVARCHAR2,  M_DOC_TYPEINVARCHAR2, M_STANDBYINVARCHAR2,  M_EMPINVARCHAR2,  RES......
  • Swift编译器的代码验证机制:安全与效率的双重协奏
    标题:Swift编译器的代码验证机制:安全与效率的双重协奏引言Swift语言以其安全性和高性能著称,这在很大程度上归功于其编译器的精妙设计。Swift编译器的代码验证机制是确保代码既安全又高效的关键环节。本文将详细探讨Swift编译器的代码验证机制,并展示如何在实践中利用这些机......
  • 顶尖项目安全系统:您的终极选择
    国内外主流的10款项目安全管理系统对比:PingCode、Worktile、Teambition、ProjectManager、Monday.com、nTask、Resolver、Hyperproof、Tapd、飞书(Feishu)。在项目管理的世界中,安全是一项至关重要的考量,但很多团队却苦于找不到合适的工具来有效管理项目安全风险。一个合适的项......
  • 【安卓】WebView的用法与HTTP访问网络
    文章目录WebView的用法使用http访问网络使用HttpURLConnection使用OkHttp前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。WebView的用法  新建一个WebViewTest项目,然后修改activity_main.xml中的代码。在布......