加密的类型、方法和用例

发布时间:2025-02-15 13:42:30   来源:网络

加密会扰乱数据,使没有解密密钥的人无法读取。正确使用加密可保护机密性,并大大降低成功的网络安全攻击造成的潜在损害。

由于“加密类型”的使用方式多种多样、不一致且令人困惑,因此理解不同的加密类型时经常会感到困惑。为了尽量减少混淆,本文将解释和分类加密类型,探讨哪种加密最适合哪种情况,并通过以下主题讨论如何有效使用加密:

加密类型的分类

为了避免混淆,让我们研究一下“类型”应用于加密的不同方式以及我们将如何在本文中介绍它们:

  • 加密类别类型将解释加密分类的总体和基本类别,其中包括最重要的两种:对称加密和非对称加密。
  • 加密算法类型将概述用于加密数据的数学算法(AES、RSA 等)、它们的意义以及它们的优缺点。
  • 加密工具类型将讨论组织可用的加密工具的主要分类。

虽然每种加密类型都属于一种加密,但有些资料将它们混在一起,这可能会让那些试图理解加密的人感到困惑。我们提供额外的区别,以帮助更好地解释加密的工作原理,并更好地说明在特定用例中使用哪种工具。

加密类别类型

加密类别类型提供了涵盖多种加密算法或工具类型的总体分类。这些概念性分类提供了有助于定义算法和工具系列固有的弱点和优势的定义。

最重要的两种加密类别是对称加密和非对称加密。这些关键的加密概念涵盖了目前广泛使用的绝大多数加密算法和工具,并且可以组合使用以实现安全通信。

其他重要的加密类别包括:

  • 同态加密,随着敏感和受监管数据的处理,其重要性不断上升。
  • 分组密码以固定大小的块来处理纯文本以进行加密。
  • 格式保留加密 (FPE)用于为数据库创建具有特定格式和长度要求的加密字段。
  • 流密码在数据通过算法时对其进行处理并用于通信。

我们还将简要讨论散列,它通常与加密相关,但实际上并不是加密的一种。

对称加密:速度最佳

对称加密使用的概念与房屋的共享密钥相同——一个或多个人使用相同的钥匙打开锁以进入。对称加密的工作原理大致相同——使用单个共享密钥加密和解密消息。

用户可以建立对称密钥,通过安全通道(如密码管理器)共享私人信息。不幸的是,虽然对称加密是一种更快的方法,但它的安全性也较低,因为共享密钥会使其面临被盗的风险。

网络钓鱼和社会工程是威胁行为者获取对称密钥的常用方法,但密码分析和暴力破解尝试也可以破解对称密钥密码。对称加密通常用于驱动器加密、WiFi 加密和其他速度性能至关重要且可以安全共享密码的用例。

现代算法使用可变输入、可变密钥长度和多轮来弥补对称密钥的弱点。

非对称加密:最适合共享

非对称加密的工作原理更像是提供密码来解锁一扇锁着的门上的一个小面板,以便送货。非对称加密的共享公钥可以加密文档,但解密需要使用不打算共享的私钥。

尽管非对称加密的实施过程更为复杂且成本更高,但它可以确保分布式网络上的安全通信,而不会使加密密钥被盗。非对称加密不使用多轮加密,而是使用可变长度、大尺寸的素数。

与对称加密相比,更大的密钥大小和素数计算可能需要更长的时间来处理;然而,可以发布非对称算法公钥,以实现更安全的加密文件共享。

该算法的不对称性使得任一密钥都可以加密数据,但同一密钥不能用于解密。典型的使用示例包括:

  • 发送者使用接收者的公钥加密数据;接收者使用自己的私钥解密数据。
  • 发送者用自己的私钥加密数据以验证文档的来源,并使用接收者的公钥重新加密数据以确保安全;接收者使用自己的私钥访问消息,并使用发送者的公钥解密消息。
 

对称

不对称

按键

1 – 私人

2 – 公立和私立

128 – 192 – 256

2,048 – 4,096

速度

快点

慢点

开销

不太复杂且昂贵,占用较少的内存和处理能力

更复杂、更昂贵且占用更多内存和处理能力

安全风险

容易受到密钥盗窃,不应用于共享加密数据,
量子计算机可以猜测密钥

量子计算机可以猜测密钥

示例

AES、Blowfish、3DES

DHM,RSA,ECC

使用案例

全盘加密、WiFi数据加密

网站沟通,证明身份

对称+非对称加密

软件开发人员和组织越来越多地使用对称和非对称加密方法来为用户提供通信速度和安全性。一个常见的例子是用于实现安全网站浏览的标准传输层安全性 (TLS) 协议。

这两种方法又称为混合加密,通常从用户之间通过非对称加密进行握手开始,以建立安全性。在非对称连接中,各方随后安全地共享对称算法密钥,以加快消息处理速度。

同态加密

同态加密允许对密文进行一组有限的操作而无需解密消息。同态模型包括:

  • 部分同态加密 (PHE)指的是可以对加密数据执行单一操作的算法。
  • 某种同态加密(SHE)是指能够对加密数据执行两种操作的算法。
  • 完全同态加密(FHE)是一种能够对加密数据进行最广泛操作的算法。

谷歌、IBM 和微软继续探索 FHE功能,以便在保持特定数据机密性的同时处理这些数据,并发布了开源加密库。然而,这些技术尚未得到广泛采用或被纳入商业工具。

分组密码

加密算法对数据块进行操作,使其在没有正确解密密钥的情况下无法读取。分组密码加密使用固定大小的数据块,例如 128 或 64 位块。许多对称算法都是分组密码;非对称算法使用不同的密钥长度,因此从技术上讲它们不是分组密码,因为公钥和私钥之间的块长度是可变的。

当要加密的明文短于块长度时,数据将通过算法填充以达到块长度,然后再进行加密。 长于块长度的数据将在加密前被分成较小的块,如果较小的块小于块大小,也会进行填充。

分组密码的一个弱点是,对完全相同的全长明文分组进行加密可能会产生完全相同的加密分组,从而导致密钥被暴力破解。算法可以通过多次使用不同大小的分组或在加密算法处理数据之前对数据应用可变输入长度算法来避免此问题。

格式保留加密 (FPE)

格式保留加密类别涉及在具有严格定义格式和字段长度的旧数据库中存储加密数据。这些数据库无法容忍许多加密算法造成的差异,这些算法故意在短加密中添加填充以掩盖原始数据的长度或将字母和数字都转换为十六进制代码。

例如,社会保障号码“111-11-1111”可能被编码为明文数字代码“049049 049049 049049 049049 049”,这在限制字符数为 9 的数据库中无法使用。格式保留算法会将该数字转换为 9 个字符的数字字符串,从而保留数据库的实用性。

保留格式的加密可以使用现有的加密算法,例如 AES(见下文)。但是,程序员通常会采用专门设计的算法,这些算法非常专业,因此我们不会在本文中详细介绍它们,例如Thorp Shuffle 、可变输入长度(VIL) 密码和Hasty Pudding 密码。

流密码

当通过高速路由器或交换机发送数据时,数据的完整大小是未知的。将数据存储到特定块大小可能会导致不可接受的处理和传输延迟。

流式密码通过使用密钥逐位加密数据来解决这个问题。流式密码是使用密钥来馈送随机数生成器的对称算法。非对称密钥通常不能用于流式加密,因为无法知道块大小。有线等效保密 (WEP) 和 Wi-Fi 保护访问 (WPA) 算法结合了流式密码来对 Wi-Fi 数据传输进行编码。

并非真正的加密:哈希加密

尽管哈希算法(例如 128 位消息摘要算法 (MD-5) 或 8 个 32 位字安全哈希算法 (SHA-256))与文件完整性验证相关,但它们不会更改文件的数据。相反,该算法会分析内容的位以创建代表内容的单个数字。

添加空格或删除字母将为文件创建完全不同的哈希值,因此哈希值通常用于验证文件在复制或传输过程中是否被更改。但是,由于哈希算法将数据保留为明文,因此哈希算法无法保护数据免受未经授权的访问。

加密算法类型

加密算法由特定的数学公式和执行加密转换所需的过程定义。虽然密码学家开发了许多不同的算法,但本文将重点介绍用于 IT 数据加密的主要加密算法:

  • 数据加密标准
  • 3DES
  • 河豚
  • 双鱼
  • 二甲基红霉素
  • RSA
  • 高级加密标准 (AES)
  • 椭圆曲线密码
  • 后量子

DES:数据加密标准

早在 1973 年,人们就意识到需要制定一个政府范围的标准来加密敏感信息。美国国家标准局(现为国家标准与技术研究所,或 NIST)公开请求潜在的密码。

IBM 和首席密码学家 Horst Feistel 很快提出了一种对称密钥分组密码算法,该算法后来被称为数据加密标准 (DES)。到 20 世纪 90 年代,DES 因其易受暴力攻击和密钥长度短而受到广泛批评。

  • 意义:美国第一个国家加密标准
  • 优点:快速、易于使用
  • 缺点:早在 1990 年代就容易受到暴力攻击
  • 用途:已过时,由 TDES 取代

密钥大小

块大小

回合

结构

56 位
(+ 1 位奇偶校验)

64 位

16

费斯特尔

TDES:三重数据加密标准

三重 DES (TDES) 或 3-DES 在原始 DES 加密算法的基础上进行了改进,使用三个不同的密钥进行三阶段加密:

  • 第 1 阶段:密钥 1 用于加密明文数据。
  • 第 2 阶段:使用密钥 2 解密步骤 1 中的加密数据来创建新文档(不复制原始文档;这种形式下无法读取)。
  • 阶段 3:使用密钥 3 重新加密步骤 2 中的数据以生成另一个加密文档。

对称分组密码 TDES 的强度比 DES 有了显著提高,但 TDES 后来被 AES 取代(见下文)。新应用程序不再使用 TDES,但在旧环境中可以找到 TDES 加密的数据,微软直到 2019 年才在 Office 365 中停止使用 3DES。

  • 意义:取代DES
  • 优点:比 DES 强大得多
  • 缺点:仍然容易受到暴力攻击和量子攻击
  • 用途:已过时,已被 AES 取代,但仍可用于 ATM 密码、UNIX 密码和较旧的支付系统

密钥大小

块大小

回合

结构

112 或 168 位

64 位

每阶段 16 轮

费斯特尔

河豚

1993 年,布鲁斯·施奈尔 (Bruce Schneier) 开发了对称分组密码 Blowfish 来取代 DES。Blowfish 加密算法无需许可证即可向公众发布,与其他旧加密标准相比,它以灵活性、速度和弹性而闻名。

该算法使用 64 位块大小,并使用 32 到 448 位之间的密钥长度对它们进行 16 轮单独加密。每轮由四个动作组成,进一步扰乱数据以进行加密处理。由于块大小较小,不建议将此标准用于大于 4 GB 的文件。

  • 意义:早期开源加密工具,被Twofish取代
  • 优点:快速、相当安全、免费
  • 缺点:易受暴力破解和量子攻击,密钥更改速度慢
  • 用途:仍然用于密码管理;文件和磁盘加密;较旧的安全外壳 (SSH) 协议工具(OpenSSH、PuTTY 等);并嵌入在 Linux 和 OpenBSD 操作系统中

密钥大小

块大小

回合

结构

32 至 448 位

64 位

16

费斯特尔

双鱼

Twofish 提供 1998 年开发的 Blowfish 的下一代版本,其密钥长度在 128 到 256 位之间,块大小在 128 到 256 位之间,加密轮次为 16 轮。虽然比 Blowfish 更复杂,但对称分组密码加密针对 32 位 CPU 进行了优化,从而实现了更好的性能。

与 Blowfish 一样,Twofish 也已在公共领域开放,允许免费使用并将算法纳入应用程序。虽然在通用硬件上 AES 的速度与 AES 相媲美,但使用 AES 硬件加速,AES 的速度会快得多。

  • 意义:取代了 Blowfish,但采用率仍然较低
  • 优点:加密能力比 Blowfish 更强,性能更快
  • 缺点:速度不如带有硬件加速器的 AES,理论上容易受到量子暴力攻击
  • 用于:文件和文件夹加密

密钥大小

块大小

回合

结构

128、192 或 256 位

128 至 256 位

16

费斯特尔

DHM:Diffie-Hellman-Merkle 引入密钥交换

DES 发布后不久,三位计算机科学家——惠特菲尔德·迪菲 (Whitfield Diffie)、马丁·赫尔曼 (Martin Hellman) 和拉尔夫·默克尔 (Ralph Merkle)——于 1976 年发表了他们关于公私密钥加密的研究成果。他们的 Diffie-Hellman-Merkle (DHM) 密钥交换开创了非对称加密的先河,并支持 2,048 到 4,096 位的更长密钥长度。

  • 意义:首个非对称加密算法公布
  • 优点:比对称算法更安全地共享信息
  • 缺点:尚未被广泛采用、资源消耗较大、容易受到暴力攻击
  • 用途:尚未被广泛采用

RSA 加密

DHM 发布一年后,三位密码学家 Ron Rivest、Adi Shamir 和 Leonard Adleman 开发了非对称 RSA 公钥密码系统。这三位创新者和麻省理工学院为 RSA 算法申请了专利,该算法是一种专有系统,可通过 RSA Security 获取,直至 2000 年公开发布。RSA 算法至今仍是最受欢迎的公钥密码系统,并引入了学术界以外的数字签名身份验证概念。

RSA 算法的创始人(从右到左):Adi Shamir、Ron Rivest 和 Leonard Adleman。

RSA 依赖于将两个非常大的随机素数相乘来生成第三个更大的素数。虽然大多数计算机很难快速分解这些素数,但该算法被发现容易受到量子计算攻击,并且实施起来往往很慢。该算法现在属于公共领域,可以使用RSA 计算器网站来检查该过程的工作原理。

  • 意义:第一个商用公钥,非对称算法
  • 优点:实现安全共享
  • 缺点:实施缓慢,容易受到暴力攻击(尤其是量子攻击)
  • 用途:安全消息传递、支付、小型加密文件

AES:高级加密标准

1997 年,NIST 再次向公共密码学界征集 DES 的继任者。两位荷兰密码学家 Joan Daemen 和 Vincent Rijmen 提交了最终的选择,即 Rijndael。到 2001 年,NIST 将其命名为高级加密标准 (AES),并正式取代了 DES。AES 提供更大、不同的密钥大小以及一系列可供选择的密码,20 多年来仍然是最受欢迎的标准之一。AES 以 128 位块大小和 128 至 256 位之间的密钥大小对数据进行 10-14 轮加密。

虽然 DES 和 AES 都使用对称分组密码,但 AES 使用替换-置换网络,其中明文经过多轮替换(S 盒)和置换(P 盒)后才能最终确定密文块。同样,客户端或应用程序可以通过逆转这些 S 盒和 P 盒转换来解密 AES 消息。

大多数组织都使用 AES 算法之一进行文件加密、全盘加密、应用程序加密、wifi 传输加密、虚拟公共网络 (VPN) 加密以及传输层安全性 (TLS) 等加密协议。

  • 意义:最广泛采用的对称分组密码算法
  • 优点:比传统加密更安全,比非对称加密更快
  • 缺点:容易受到密钥盗窃和暴力攻击
  • 用于:协议、VPN、全盘加密、Wi-Fi 传输加密

密钥大小

块大小

回合

结构

128、192、256 位

128 位

10, 12, 14

SP网络

ECC:椭圆曲线密码术

1985 年,华盛顿大学和哥伦比亚大学的教授分别发表了关于椭圆曲线密码术 (ECC) 的研究成果,但直到 2000 年代中期,该技术才得到广泛应用。与 RSA 一样,ECC 是一种非对称加密算法,但它不使用素数,而是使用椭圆曲线来生成公钥和私钥。

使用椭圆曲线可以实现与 RSA 同等的安全性,但密钥长度却比 RSA 更小,从而可以更快地执行加密和解密算法。事实证明,ECC 是 RSA 的流行替代选择,但也被发现容易受到扭曲安全性和旁道攻击等威胁。

  • 意义: RSA 的流行非对称加密替代方案
  • 优点:比 RSA 更快,使用更小的密钥,比对称加密算法更安全
  • 缺点:容易受到扭曲安全、侧通道和量子攻击
  • 用途:电子邮件加密、加密货币数字签名、互联网通信协议

下一步是什么?后量子密码学

量子计算机基于量子力学而非数学运算,可以利用 Shor 算法比传统计算机更快地找到素数因子。这使得攻击者能够访问足够大的量子计算机,通过从公钥中确定组织的私钥,从而破解 DHM、RSA 和 ECC 等非对称标准。

尽管量子计算机并不普遍,但人们认为它的发展在不久的将来是必然的。今天被盗的数据可能使用今天的标准进行安全加密,在未来 5-10 年内无法破解。但是,如果窃取信息的攻击者在未来获得可负担得起的量子计算资源,加密可能很容易被破解。

后量子密码学 (PQC) 描述了为应对量子攻击和保护下一代 IT 环境和数据而开发的研究、算法和供应商。NIST 和美国国家安全局 (NSA) 于 2022 年开始发布针对量子威胁的算法和资源。

不过,研究仍处于早期阶段,因此初始标准仍处于草案形式,预计联邦机构的完整缓解架构要到 2030 年代才能实现。目前,公认的四种算法包括:

  • CRYSTALS-Kyber( FIPS 203 )定义了一种纳入非对称密钥封装机制(KEM)标准的算法,旨在允许通过公共渠道实现抗量子的安全密钥共享。
  • CRYSTALS-Dilithium ( FIPS 204 )定义了一种纳入标准的算法,用于创建抗量子数字签名方案来验证来源和身份。
  • SPHINCS+ ( FIPS 205 )定义了一种融入无状态的基于哈希的抗量子数字签名标准的算法,用于验证来源和身份。
  • FALCON (FIPS 待定)将定义一种基于快速傅里叶格的算法和数字签名标准。

加密工具类型

多种不同方式保护静态数据和传输中的数据。加密的最广泛应用包括:

  • 加密数据传输协议
  • 全盘加密
  • 文件加密
  • 电子邮件加密
  • 应用程序嵌入式加密
  • 数字证书

虽然这些是最常购买和部署的解决方案,但加密也可以纳入安全解决方案中,例如云访问安全代理(CASB)、下一代防火墙(NGFW)、密码管理器、虚拟专用网络(VPN) 和Web 应用程序防火墙(WAF)。

加密数据传输协议

许多基本协议将加密纳入其编程中,以提供大多数用户看不见的通用保护。主要协议包括:

  • 域名密钥识别邮件(DKIM)通过为已发送电子邮件中的加密文本块托管公钥来实现对电子邮件发件人的身份验证。
  • 互联网协议安全 (IPSec)在 IP 数据包级别提供加密,并为属于多个用户和主机的数据包创建安全隧道。
  • Kerberos通过分发经过身份验证的票证来保护和支持局域网上的身份验证,从而针对中央身份验证和密钥分发服务器提供单点登录和用户身份验证。
  • 第 2 层隧道协议 (L2TP)为使用设备之间的加密隧道进行双重加密传输数据提供了一个框架。
  • 安全/多用途互联网邮件扩展 (S/MIME)升级了电子邮件安全性。
  • 安全外壳 (SSH)保护远程终端并为 TCP 流提供单点登录和安全隧道支持。
  • 传输控制协议 (TCP)为设备和应用程序之间的通信添加了加密、服务器身份验证和客户端身份验证,并支持 HTTPS 连接。

全盘加密

为了保护静态数据,可以将整个硬盘封装在加密容器中。此功能可以包含在固件、操作系统中,也可以作为开源、共享软件或商业应用程序中的一项功能。

全盘加密可防止设备或硬盘在断电时被盗,因为设备内容在没有安全密钥的情况下无法读取。但是,这些应用程序通常使用对称加密,容易受到密钥被盗的影响。此外,当设备开机且数据未加密以供使用时,全盘加密无法防止设备数据被盗。

文件加密

文件加密可在设备开机且数据可供使用时保护静态数据。加密以文件夹或单个文件为基础进行,解密则在需要信息时根据需要进行。

文件加密往往需要更多的用户交互,而且比全盘加密更难普遍应用。文件加密可以增加强大的安全性,但它仍然容易被盗取密码,而且比全盘加密更容易丢失密码,因为全盘加密可能由 IT 部门设置管理员密码。

电子邮件加密

电子邮件加密将电子邮件内容置于加密容器中,以便使用未加密的电子邮件协议进行安全传输。主要电子邮件工具中都有电子邮件加密选项,但许多组织选择部署具有更强大部署或加密选项的其他工具。

应用程序嵌入式加密

数据库、网站和其他程序等应用程序可以在编程中整合加密来保护数据。数据库为字段、列或整个数据库存储实例提供最多样化的加密类型。其他类型的加密可以在整个应用程序中检测和加密特定数据类型,例如信用卡号和社会保险号。

数字证书

数字证书提供公开发布的密钥,可用于验证身份或加密和解密信息。证书必须使用最新信息进行维护,并在过期前进行更换。

如何选择加密类型或算法

在选择加密类型时,企业应首先根据组织的风险考虑其安全要求。风险从财务、运营和监管角度定义了组织中最重要的数据,这有助于确定加密在何处以及如何保护这些数据。

有效的风险分析需要对数据进行有效的分类、准确清点数据位置,以及有效了解最重要的数据在组织中的流动方式。风险分析将确定安全需求,然后应考虑一系列加密解决方案,而不仅仅是最常用或最方便使用的工具类型。

需要考虑的商业工具的最重要的特性(除了成本)包括:

  • 集中策略管理
  • 工具速度
  • 密钥管理和自动化
  • 支持基于硬件的加密加速
  • 合规报告能力
  • 监控、日志记录和审计功能
  • 操作系统 (OS) 支持
  • 安装和配置过程
  • 对运营和用户体验的影响
  • 加密算法选项
  • 旧版加密支持

遗憾的是,加密可能会导致功能丧失、性能下降,甚至数据丢失,这取决于以下因素:

  • 用户错误
  • 内存和硬盘要求与可用资源
  • 基础设施所需的改变
  • 设备所需的更改

通常,只有当其他选项无法满足企业的安全需求时,才应使用需要对基础设施和最终用户设备进行大量更改的解决方案。选择工具后,组织可以从多种可用的安全算法中进行选择。他们应该考虑该算法是最新的还是过时的、经过验证的还是未经测试的,以及是否适合用例。

除了工具和算法考虑之外,组织还应考虑获取加密的方式及其经济后果:

  • 直接购买工具可以带来一次性定价和专业客户支持,但可能会变得过时或范围狭窄。
  • 开源软件通常是免费的,但缺乏专业的客户支持,需要最多的资源来实施,可能会过时,并且通常只关注如何使用。
  • 附加加密通常是特定供应商针对特定用例提供的服务,例如云提供商为保护云资源而添加的云存储加密。
  • 加密即服务提供了广泛的加密选项,将不断更新,并且需要最少的管理工作;但是,此选项涉及将公司机密的控制权交给外部方。

选择工具可能是一个协作和迭代的过程。受影响的用户应该参与测试加密工具,并且可以分阶段部署以避免中断和数据丢失。与安全性一样,加密应该根据用途分层应用:数据库、本地文件、电子邮件或整个驱动器。

 

猜你喜欢
最新文章